我正在编写一个使用CoreLocation的应用程序,由于某种原因,位置管理器会随机停止更新位置。
我已经确保对该startUpdating
方法的所有调用都在主线程上(不确定它是否重要)。
我已经记录了所有的委托方法,包括didAuthorizationStatusChange
, didPauseUpdatingLocation
,didFailWithError
并且发现没有被调用。
它似乎在 4 次更新后停止;为什么会这样?
更新:startUpdating
从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];