1

デフォルトのリマインダー アプリを選択して、ある日 (たとえば 2 月 10 日) に何かを思い出させ、その場所で「2 月 10 日に位置情報に基づくリマインダーがアクティブになります」のようなメッセージが表示される場合。

バックグラウンドでも、特定の日付にロケーションベースのリマインダーを設定できますか?

これは非常に興味深いことです。どうすればこれが可能になるのか知りたいのですが、何らかのトリックがあるのでしょうか、それとも単に Apple がストック アプリに無制限のパワーを与えているからなのでしょうか?

PS - 位置情報に基づくリマインダーの設定方法は既に知っています。

4

1 に答える 1

2

それは大したことありません。このテクニックは と呼ばれGeoFencingます。あなたもそれを行うことができます。Apple Location フレームワークは、この目的のためにいくつかの興味深い API を提供します。

を使用してみてください

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region;
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region;

これらのデリゲート メソッドが提供するものは、iOS デバイスでローカル通知を設定する簡単な方法です。たとえば、ユーザーがregion. の定義はregion、半径が定義された緯度、経度に他なりません。元。通勤途中で特定の地域に入ったときに、洗濯物を預けるようにリマインダーを設定できます。など。実際にはすべて非常に簡単です...

もう少し追加します。これには2つの側面があります。最初に通知を設定し、次は通知を消費または表示します。通知の設定は、単純なユーザーの現在位置の取得です。実行中に、この地域を監視するように locationManager に伝えます。ユーザーがこの地域に入ると (さらにフィルター条件として日付を指定できます)、ユーザーに警告します。

アプリがバックグラウンドで実行されている場合や閉じている場合でも、これはすべて機能します。iOSがこれを処理します。

【その他のコードはこちら】

于 2013-02-20T14:25:48.597 に答える