Я читал ваш комментарий ниже:
«Я не знаю, что вы подразумеваете под режимом« энергосбережения », но если вы думаете о том, когда экран заблокирован / выключен, это не мешает запуску Core Location, если ваше приложение все еще работает. наоборот, легко разрядить аккумулятор телефона намного быстрее, чем можно было бы ожидать, если заблокировать телефон во время работы приложения, использующего базовое местоположение, поскольку телефон продолжит обновлять приложение по мере появления новых данных о местоположении. можно избежать этого в вашем приложении, прослушивая UIApplicationWillResignActiveNotification
для обнаружения блокировки экрана и UIApplicationDidBecomeActiveNotification
для обнаружения разблокировки. "
У меня есть приложение, которое использует местоположение ядра, и, пока мой телефон не заблокирован, я получаю регулярные записи NSlog из расположения ядра. Однако в тот момент, когда я его блокирую, блокировка NSlogs из основного местоположения прекращается, пока я не разбуду телефон. Мой код для ведения журнала:
-(void) locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
if (startingPoint == nil)
self.startingPoint = newLocation;
userLocation.latitude = newLocation.coordinate.latitude;
userLocation.longitude = newLocation.coordinate.longitude;
NSLog(@"Update from LM: Latitude = %f",newLocation.coordinate.latitude);
NSLog(@" Longitude = %f",newLocation.coordinate.longitude);
}
Я что-то упустил?