CoreLocationを使用するアプリを作成していますが、何らかの理由でロケーション マネージャーがロケーションの更新をランダムに停止します。
メソッドへのすべての呼び出しがstartUpdating
メインスレッド上にあることを確認しました(それが重要かどうかはわかりません)。
didAuthorizationStatusChange
、didPauseUpdatingLocation
、を含むすべてのデリゲート メソッドをログに記録しdidFailWithError
ましたが、何も呼び出されていないことがわかりました。
4回の更新後に停止するようです。なぜこれが起こるのですか?
UPDATE : startUpdating
fromへの呼び出しはapplicationDidFinish
機能しますが、コードの後半でメソッドへの呼び出しが再び機能しなくなります
-(CLLocationManager*) locationManager
{
if(locationManager == nil)
{
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
}
return locationManager;
}
[self.locationManager startMonitoringForRegion:self.venueRegion];