iOS8 中使用定位功能必须先获取用户授权,无论CLLocationManager还是MapKit

来源:互联网 发布:淘宝网羊毛衫外套 编辑:程序博客网 时间:2024/05/16 08:04

前言:之前在iOS7下写过一个使用定位和地图的app demo,但升级iOS8后突然不能定位了。

解决方法如下:

1.在进入主页面之前,加上这句话,在程序刚运行时就让用户授权使用定位功能就好了。

//获取用户授权使用定位功能用的
@property (nonatomic,strong) CLLocationManager * mgr;

//懒加载
-(CLLocationManager *)mgr
{
    if (_mgr ==nil) {
        _mgr = [[CLLocationManageralloc] init];
    }
    return _mgr;
}

//获得用户授权使用定位功能
[self.mgrrequestWhenInUseAuthorization];

或者:[self.mgr requestAlwaysAuthorization];

2.最重要的一部分:需要在info.plist文件中增加一个新的key:NSLocationWhenInUseUsageDescription 或者 NSLocationAlwaysUsageDescription

stackoverflow中的回答如下:

0 0
原创粉丝点击