dispatch_queue_create
を使用し、その後dispatch_async
を使用するエンドレスループのメソッドを起動します(コードループはディスパッチされたブロックの内側にあります)。アプリケーションがバックグラウンドで配置されているときにGCDディスパッチされた操作が実行されない
ループは完全に実行されます。ただし、アプリケーションがバックグラウンドになると一時停止します。その後、アプリケーションがフォアグラウンドをとったときに再起動します。
これを防ぐにはどうすればよいですか?私はhereを見てきましたが、優先順位は私が選べるものの一つではないようです。
iOSのバックグラウンドで無限にループを実行したいですか? –
@pcperiniはい、私はキューをポーリングしています。私は無限ループに組み込まれているので、あなたのiPadのバッテリーを消耗させないようにしています。)... –
私はそれが問題ではないと確信しています。アプリが電話(Skype)または音楽プレーヤー(Spotify)でない限り、バックグラウンドで無限ループを実行することはできません。あなたがしなければならないことは(Appleに関する限り)データ更新のためにプッシュを使用していることです。 –