MyCLLocationManager
は、ユーザーが最初にアプリに入ったときに始まります。私は次のように初期化しています:
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.distanceFilter = kDistanceFilter;
self.locationManager.headingFilter = kHeadingFilter;
そして、私はジオフェンシングを使用しています。
.plist で .plist を定義しましたrequired background modes
。
gpx ファイルを使用してシミュレーターでアプリをテストすると、正常に動作します。ここまでは順調ですね。
ただし、次の 2 つのリンクを読みました。
バックグラウンド タスクから iOS 7 の Location Manager を起動する
バックグラウンド位置情報サービスが iOS 7 で機能しない
ではiOS7
、場所が数分間変わらない場合、 はCLLocation
スリープ状態になります。
私の質問は次のとおりです。
私はまったく呼び出しません。必要なのは、またはdidUpdateLocation
だけです。理論的には、アプリが強制終了された場合や、ユーザーの場所が過去 1 時間変更されておらず、移動することを決定した場合でも機能しますか?didEnterRegion
didExitRegion