プッシュ通知/サイレント プッシュ通知を使用して、このタスクを実行できます。これを機能させるには、ユーザーがプッシュ通知をオプトインする必要があることに注意してください。これを達成する方法の概要は次のとおりです
- ユーザーがアラームを設定すると、今度は Web サービス経由でサーバーに送信されます。
- サーバーはプッシュ通知ペイロードを APNS に送信し、デバイス トークンに基づいてアプリにリダイレクトします。
- デバイスが通知ペイロードを受信すると、デリゲートが呼び出されます。アラームに関連するこのペイロードのデータを処理したり、Web サービス呼び出しを呼び出したりできます。
- beginBackgroundTaskWithExpirationHandler を使用して、5 分間隔のタスクを実行します。beginBackgroundTaskWithExpirationHandler は、タスクを実行するために OS から余分な時間を要求します。この余分な時間の長さは (意図的に) Apple によって指定されていませんが、実際には約 10 分です。
詳細については、プッシュ通知、サイレント プッシュ通知、およびバックグラウンド タスク ハンドラをお読みください。
バックグラウンド フェッチ API : iOS 7 で、Apple はバックグラウンド フェッチのサポートを追加しました。バックグラウンド フェッチは、日和見的なタイミングで起動する一種のスマートなアプリごとの crontab です。バックグラウンド フェッチを正確な間隔で強制的に実行する方法はありません。iOS は、将来のコールバックをスケジュールするときに、以前のバックグラウンド フェッチ中に使用されたデータとバッテリー電力の量をチェックします。サポートを追加するには、アプリケーションのプロパティ リストを編集し (UIBackgroundModes を参照)、アプリのライフサイクルの早い段階でフェッチ間隔を設定する必要があります。
詳細はこちら