私は、iPhone でゲーム キットのピアツーピア接続を使用して、アプリを使用している他の人を見つけて情報を交換するアプリを構築しようとしています。
私の質問は、アプリがバックグラウンドで実行されていて、iPhone がスリープ状態のときにピアツーピア接続を使用することは可能ですか? はいの場合、何か特別なことをする必要がありますか?
また、アプリがバックグラウンドで実行されているとき/iPhone がスリープ モードのときに、位置情報、ローカル通知、および HTTP 要求を使用できますか?
私は、iPhone でゲーム キットのピアツーピア接続を使用して、アプリを使用している他の人を見つけて情報を交換するアプリを構築しようとしています。
私の質問は、アプリがバックグラウンドで実行されていて、iPhone がスリープ状態のときにピアツーピア接続を使用することは可能ですか? はいの場合、何か特別なことをする必要がありますか?
また、アプリがバックグラウンドで実行されているとき/iPhone がスリープ モードのときに、位置情報、ローカル通知、および HTTP 要求を使用できますか?
iOS のバックグラウンド モードは非常に制限的です。
アプリケーションがバックグラウンドに移行するとき、作業を適切に終了できるようにするために OS によって「有限時間」が与えられます (ダウンロードの終了、ファイルの保存、接続の終了など)。その後、iOS で許可されているいくつかの長いタスクを期待することはできません。iOS で実行できる唯一の長いタスクは次のとおりです。
(ソース)
そのため、Bluetooth 経由でピアツーピア接続を使用する場合は、(理論的には) バックグラウンド モードでそれを行うことができます。これは地理的位置についても同じです。
ただし、ローカル通知を使用する場合は、バックグラウンドに移行する前にそれらを登録する必要があります。HTTP 要求についても同様です。詳細については、次のドキュメントを確認してください: App States and Multitasking。