iOS 我在做定位的时候 无法获取定位权限。info文件中的字段已经加了,始终拿不到,一直提示 Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first.
有没有那个大神知道解决办法
xcode 提示你引用这两个方法了啊-[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization]
授权:
CLLocationManager * locationManager = [[CLLocationManager alloc] init];
[locationManager requestAlwaysAuthorization];
[locationManager requestWhenInUseAuthorization];
你需要先申请权限requestAlwaysAuthorization。iOS的App都需要用户允许权限才能执行后续操作
那在设置最下面有没有类似这样的 ,
然后 点进去查看有没有相应的权限设置
第一步,你要取得授权
-(void)getPass{
//由于IOS8中定位的授权机制改变 需要进行手动授权
// 初始化定位管理器
locManager = [[CLLocationManager alloc] init];
// 设置代理
locManager.delegate = self;
// 设置定位精确度到米
locManager.desiredAccuracy = kCLLocationAccuracyBest;
// 设置过滤器为无
// locManager.distanceFilter = kCLDistanceFilterNone;
locManager.distanceFilter = 10.0f;
// 开始定位
// 取得定位权限,有两个方法,取决于你的定位使用情况
// 一个是requestAlwaysAuthorization,这句话ios8以上版本使用;一个是requestWhenInUseAuthorization
[locManager requestAlwaysAuthorization];
[locManager startUpdatingLocation];
}
第二步,看看有效没有。。