- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
上述委托方法在 iOS 6 中已弃用。
而不是这个,使用:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray*)locations
此代码(以及 pausesLocationUpdatesAutomatically)只能在 XCode 4.5(其中基础 SDK 为 6)中编译。
如果您想定位 6.0 之前的 iOS 版本,请使用此宏
#define IOS_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
无论您在哪里创建CLLocationManager
对象
if(IOS_VERSION_GREATER_THAN_OR_EQUAL_TO (@"6.0"))
{
locationManagerObj.pausesLocationUpdatesAutomatically = NO;
}
更多细节在这里:
http://developer.apple.com/library/ios/#documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html