2

マルチタスクをサポートするデバイスでは、iOS アプリが実行されていないとき (つまり、中断されているとき) に「バックグラウンド」で機能を実行したいと考えています。iOS がバックグラウンドでのタスクの実行をサポートしていることは知っていますが、関数を繰り返し実行する方法がわかりません (アプリがバックグラウンドにない場合のみ)。最善のアプローチは何ですか?

バックグラウンドで長期的な機能を実行することには興味がありませんが、アプリケーションバッジを更新するだけの短期的な機能に興味があります #. ただし、この数値はアプリのデータに基づいて動的に決まるため、コア データに対してクエリを実行する必要があります。

さらに明確にするために、はい、私のコアデータは変更されませんが、バッジは期限のアイテムの数を表しています. 時間の経過とともに、より多くのアイテムが期限切れになるため、バッジを更新して、時間の経過に応じて期限切れの適切なアイテムを表示したいと考えています。したがって、現在 5 つのアイテムが期限切れで、30 分後にさらに 3 つのアイテムが期限切れになっている場合、コア データ自体はまったく変更されていなくても、次の 1 時間になるまでに 8 つのアイテムが期限切れになります。

4

2 に答える 2

4

バックグラウンドで実行できる唯一のタスクは、オーディオ、voip、および場所です。

于 2011-04-21T14:51:26.170 に答える
1

Core Data 内に保存されているデータが変更されていないのに、バッジ データを毎時間更新する必要があるのはなぜですか? すなわち。アプリが実行されていませんか?

以前に投稿したように、プッシュ通知を使用してこれを行うことができます。または、アプリが閉じているかバックグラウンドになっているときに、データに基づいてスケジュールされたローカル通知を使用できます。それらがあなたの唯一の選択肢だと思います。

于 2011-04-21T15:10:59.530 に答える