Для экономии заряда батареи я отслеживаю обновления местоположения, чтобы увидеть, был ли пользователь в течение некоторого времени;если это так, я затем понизил CLLocationManager с его основных настроек kCLLocationAccuracyBestForNavigation и kCLDistanceFilterNone (максимальные настройки) для мониторинга только значительных изменений местоположения.
Проблема в том, что он не работает: после вызова startMonitoringSignificantLocationChanges обновления местоположения обновляютсяпродолжайте вливаться с высокой скоростью, как они это делали до вызова.
Как снизить активность, а затем вернуться обратно?
Обновление : этот кодотвечает на вопрос:
//Set
if ( shouldMonitorSignificantChangeUpdates ) {
NSLog(@"Entering -> significant change mode");
[self.locationManager stopUpdatingLocation];
[self.locationManager startMonitoringSignificantLocationChanges]; //aka stop monitoring every location change
} else {
NSLog(@"Exiting <- significant change mode");
[self.locationManager stopMonitoringSignificantLocationChanges]; //aka begin monitoring every location change
[self.locationManager startUpdatingLocation];
}