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

iOS8系统中,无论是使用CLLocationManager还是MapKit进行定位,都必须首先获取用户的授权。开发者可以在应用程序启动时通过特定代码请求用户授权,确保定位功能的正常使用。
摘要由CSDN通过智能技术生成

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

解决方法如下:

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

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

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

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

或者:[self.mgr requestAlwaysAuthorization];

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

stackoverflow中的回答如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值