在IOS8中定位功能新增了两个方法:
①- (void)requestWhenInUseAuthorization; //使用应用的时候定位
②- (void)requestAlwaysAuthorization; //未使用应用的时候也可以定位
这两个新增的方法导致在iOS8以下版本运行会出现定位功能无法正常使用的问题!
正确的在iOS8及以上版本定位的方法:
1.在Info.plist表里面添加两个key(自定义提示用户授权使用地理定位功能时的提示语)
①NSLocationWhenInUseUsageDescription(该key对应的value如下图,如果不想自定义,可以为空)
IMG_2001.png
②NSLocationAlwaysUsageDescription(同上)
IMG_2002.png
2.在代码中启动跟踪定位(startUpdatingLocation)前,调用以下方法:
①if ([locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[locationManager requestWhenInUseAuthorization];
}
IMG_2003.PNG
②if ([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[locationManager requestAlwaysAuthorization];
}
IMG_2004.PNG
网友评论