|
今天用百度的sdk 发现定位竟然没效果,然后用了自己新买的iPhone6 仔细试用了。
iOS8 以后定位权限被Apple仔细划分了,一种为使用App时可以使用定位功能,一种为未使用APP时也可以定位。
首先
同时需要在Info.plist中加入两个缺省没有的字段
NSLocationAlwaysUsageDescription NSLocationWhenInUseUsageDescription
俩个字段都不会在plist中查找到,所以需要自己手打,都设置为YES
然后在需要定位的地方 Add
if ([[UIDevice currentDevice].systemVersion floatValue] >= 8) {
//由于IOS8中定位的授权机制改变 需要进行手动授权
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
//获取授权认证
[locationManager requestAlwaysAuthorization];
[locationManager requestWhenInUseAuthorization];
}
然后就KO了。
所以高德的SDK,百度的SDK,和自带的应该都可以通过这个方法解决
|