您的位置:首页 > 移动开发 > IOS开发

iOS 解决iOS 地图获取位置提示框不弹出

2017-07-06 21:03 288 查看


//联系人:石虎 
QQ: 1224614774昵称:嗡嘛呢叭咪哄

1、需要手动调用CLLocationManager对象的requestAlwaysAuthorization方法。

2、调用该方法需要在Info.plist中设置NSLocationAlwaysUsageDescription的字符串,这个值 (NSString *)会显示在系统提示框中 ;不要自己加值就是(Boolean),选yes;

3、在代码中添加代理方法
/* 定位服务状态改变时调用/
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
switch (status) {
case kCLAuthorizationStatusNotDetermined:
{
if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[self.locationManager requestAlwaysAuthorization];
}
NSLog(@"用户还未决定授权");
break;
}
case kCLAuthorizationStatusRestricted:
{
NSLog(@"访问受限");
break;
}
case kCLAuthorizationStatusDenied:
{
// 类方法,判断是否开启定位服务
if ([CLLocationManager locationServicesEnabled]) {
NSLog(@"定位服务开启,被拒绝");
} else {
NSLog(@"定位服务关闭,不可用");
}
break;
}
case kCLAuthorizationStatusAuthorizedAlways:
{
NSLog(@"获得前后台授权");
break;
}
case kCLAuthorizationStatusAuthorizedWhenInUse:
{
NSLog(@"获得前台授权");
break;
}
default:
break;
}
}

谢谢!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐