今天把xcode升级到了6.0.1,心里很美啊,终于可以把bate版本的删除掉了!我是个整洁的人有强迫证你懂得,不喜欢重复冗杂的东西。升级完后继续码吧,结果发现百度地图无法定位了!本来就不太熟悉地图sdk的开发这下可咋整!
一贯作风百度、谷歌一顿搜索!最后找到了方法。在这记录一下吧,也供需要的童鞋学习一下~ >>>>>>>>>>>>>>>>>专业分割线>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 在IOS8中定位功能新增了两个方法:
- (void)requestWhenInUseAuthorization __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_8_0);
- (void)requestAlwaysAuthorization __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_8_0);
这两个新增的方法导致之前写的程序,在iOS8运行会出现定位功能无法正常使用!(这句话是网上一贴子说的我也不清楚,爱咋咋地!)
正确让ios8定位的方法来了:
1.在Info.plist表里面添加两个变量
NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription
(这两个字段没什么特别的意思,就是自定义提示用户授权使用地理定位功能时的提示语)
2.添加代码:
CLLocationManager *locationManager = [[CLLocationManager alloc]init]; locationManager.delegate = self;
[locationManager requestAlwaysAuthorization];
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
[locationManager startUpdatingLocation];
调用代理:
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
switch (status) {
case kCLAuthorizationStatusNotDetermined:
if ([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) { [locationManager requestWhenInUseAuthorization];
}
break;
default:
break;
}
}
3.这样就可以打开地图定位功能了!
最近在做基于百度Map定位及路线轨迹的功能!完成后,也发出来供大家学习使用,尽情期待吧~