サーバー呼び出しを行い、応答に基づいてサウンドを再生するコードがあります。現在、アプリケーションがバックグラウンドにある場合、またはデバイスがロックされている場合、これは機能しません。
アプリがバックグラウンドにある場合やデバイスがロックされている場合でも、このコード (サーバーの呼び出しと応答の処理) を実行する方法はありますか?
サーバー呼び出しを行い、応答に基づいてサウンドを再生するコードがあります。現在、アプリケーションがバックグラウンドにある場合、またはデバイスがロックされている場合、これは機能しません。
アプリがバックグラウンドにある場合やデバイスがロックされている場合でも、このコード (サーバーの呼び出しと応答の処理) を実行する方法はありますか?
設計による一般的な解決策はありません。(Appleは、CPUと電力を大量に消費する可能性のあるプロセスをバックグラウンドで実行し、ユーザーエクスペリエンスを低下させることを望んでいません。)
利用可能な限定ケースのオプションがいくつかあります。
-[UIApplication beginBackgroundTaskWithExpirationHandler:]
適切なメソッド内から使用して、そのUIApplicationDelegate
ようなタスクを登録します。タスクを完了する時間は限られている(ただし、かなりの時間がある)ことに注意してください。このモードではメディアを再生できないと思います。