0
こんにちは、バックグラウンドでコアの場所を使用するアプリケーションを開発し、ユーザーに位置通知のプッシュを通知します。コアをオン/オフに切り替えます。
重要な場所の変更を登録するには、次のコードを使用します。
CLLocationManager *locationManager = [[[CLLocationManager alloc] init]
autorelease];
[locationManager startMonitoringSignificantLocationChanges];
ロケーションを更新するときにバックグラウンドタスクを実行します。
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation;
ただし、この機能は特定の曜日にのみ必要です。 CLLocationManagerが特定の曜日だけアクティブになるようにタイマーを設定することは可能ですか?
例えば、月曜日のみ重要な場所の変更をオンにし、残りの部分は記号の位置を変更しないようにします。
EDIT:ロケーションサービスを無効にすることを明確にするために([locationManager stopMonitoringSignificantLocationChanges]を呼び出すのと同じ)、つまり、 gpsシンボルは月曜日にのみ有効になり、他の日にはgpsシンボルはオフになります。
ありがとうございました!しかし、影響を受けていない日にlocationManagerを一斉に無効にしようとしています。それは可能ですか? – user913399
これはelseステートメントで行うことができます。あなたのアプリが起動したら、その日をテストし、locationManagerをオンまたはオフにします。 – sch
ユーザーがアプリを起動しないことを選択した場合、これを回避する方法はありませんか?リマインダーアプリのように、特定の日付+場所を設定すると、指定された日付に達するまでgpsが有効になりません。 – user913399