1

60 秒ごとにジョブを実行する iOS アプリにバックグラウンド プロセスを実装する必要があります。これはアプリがフォーカスされているときにのみ実行できることはわかっていますが、アプリを閉じた後、バックグラウンドでこのジョブの実行を終了させたいと考えています。dispatch_asyncGCD を使用して、またはを使用して 60 秒ごとにジョブを非同期的に呼び出すタイマーをディスパッチしますbeginBackgroundTaskWithExpirationHandler

どちらの方法が最適なのか、それとも本質的に同じなのか疑問に思っています。beginBackgroundTaskWithExpirationHandlerアプリがフォアグラウンドの状態でも、ジョブを実行するために使用しても問題ありませんか? または、アプリの状態が変化したときにジョブをキャンセルしてから、バックグラウンド タスクとしてジョブを再起動する方がよいでしょうか?

4

1 に答える 1

2

-beginBackgroundTaskWithExpirationHandler:バックグラウンド スレッド/キューでコードを実行しません。アプリがアクティブでないときに作業を続行することを OS に伝えます。

2つはまったく異なる目的を果たします。

于 2012-10-22T17:47:52.817 に答える