我在下面阅读您的评论:
“我不知道您所说的“省电”模式是什么意思,但是如果您正在考虑何时锁定/关闭屏幕,如果您的应用程序仍在运行,那并不会阻止 Core Location 运行。相反,它是如果您在使用 Core Location 的应用程序运行时锁定手机,很容易耗尽手机电池的速度比您预期的要快得多,因为手机将在新的位置数据可用时继续更新应用程序。您可以避免这种情况在您的应用程序中通过侦听UIApplicationWillResignActiveNotification
来检测屏幕锁定和UIApplicationDidBecomeActiveNotification
检测解锁。”
我有一个使用核心位置的应用程序,只要我的手机没有被锁定,我就会从核心位置获得常规的 NSlog 条目。但是,在我锁定它的那一刻,来自核心位置的 NSlog 会停止,直到我唤醒手机。我进行日志记录的代码是:
-(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);
}
我错过了什么吗?