首页 > 移动平台 > 详细

IOS version >=8.0 下CoreLocation定位问题

时间:2015-10-14 14:03:00      阅读:248      评论:0      收藏:0      [点我收藏+]

最近发现执行startUpdatingLocation之后locationManager的代理方法都没有被调用,搜索了一下,得到以下信息:

1、在使用CoreLocation前需要调用如下函数【iOS 8及更高】:

  iOS 8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法:

  (1)始终允许访问位置信息

  - (void)requestAlwaysAuthorization;

  (2)使用应用程序期间允许访问位置数据

  - (void)requestWhenInUseAuthorization;

  示例如下:

  self.locationManager = [[CLLocationManager alloc]init];

  _locationManager.delegate = self;

  _locationManager.desiredAccuracy = kCLLocationAccuracyBest;

     if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){

      [_locationManager requestAlwaysAuthorization];//添加这句
     }

  [_locationManager startUpdatingLocation];    

 

  2、在Info.plist文件中添加如下配置:

  (1)NSLocationAlwaysUsageDescription

  (2)NSLocationWhenInUseUsageDescription

  这两个键的值就是授权alert的描述(填不填没关系),示例配置如下[勾选Show Raw Keys/Values后进行添加]:

      技术分享

     

这样就可以正常定位了。

 

IOS version >=8.0 下CoreLocation定位问题

原文:http://www.cnblogs.com/karimlee/p/4877225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!