5

iOS 5で導入されたリマインダーアプリでは、ジオフェンスを設定できるため、住所に近づくとリマインダーがアラートを出します。ロケーションベースのリマインダーは、特定の日に設定することもできます。Appleは、場所と時間に基づくリマインダーを処理する方法について非常に効率的であり、リマインダーの日になるまで現在地の追跡を開始しません。

例:

月曜日です。水曜日にリマインダーを設定して、家に帰ってゴミを出すときにリマインダーを設定しました。

注意を払うと、バッテリー寿命インジケーターの横にある位置情報サービスインジケーター(紫色の三角形)は、水曜日の真夜中のストロークまで表示されないことに気付くでしょう。

アプリケーションがこのような時間の変化に応答できるようにするパブリックAPIがあるのか​​、それともいくつかのプライベートAPIを使用しているのか興味があります。

私は見つけることができましたがUIApplicationSignificantTimeChangeNotificationapplicationSignificantTimeChange:ドキュメントには次のように記載されています

アプリケーションが現在一時停止されている場合、このメッセージは、アプリケーションがフォアグラウンドに戻るまでキューに入れられ、フォアグラウンドに戻ると配信されます。

だから、これはうまくいかないと私は信じています。

私の他の考えは、UILocalNotificationを使用して、関心のある時間に通知を設定し、その通知が発生したときに、コードを実行して位置情報サービスを有効にすることです。UILocationNotificationの経験が不足しているため、そのようなコードを実行できるかどうかはわかります。

誰かがこれを達成する方法を知っていますか?

4

1 に答える 1

0

機能を有効にしたい日にジオフェンスを有効にするための情報を含むローカル通知 (リモート通知) を設定できます。

これにより、appDelegate のメソッド「didReceiveLocalNotification」でアプリが起動され、そこにコード ジオフェンスが配置されます。

于 2014-03-13T10:35:31.023 に答える