| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
cdduanwx
9年前发布

CoreLocation Authorization in iOS8+

来自: http://www.calios.gq/2016/03/02/CoreLocation-Authorization-in-iOS8/

1. CoreLocationManager 中新增的方法

iOS8在位置获取权限上做了更细的划分,也就是说,用户可以选择允许app在后台使用位置信息、在使用期间使用位置信息或者不允许使用位置信息。

因此,在 CLLocationManager 中添加了如下两个方法:

  • requestWhenInUseAuthorization() : 向用户请求只在app使用期间获取位置信息的权限。
  • requestAlwaysAuthorization() : 向用户请求app在后台使用位置信息的权限。

    locationManager = CLLocationManager()

    locationManager.delegate = self

    locationManager.desiredAccuracy = kCLLocationAccuracyBest

    locationManager.requestAlwaysAuthorization()

    locationManager.startUpdatingLocation()

    </li> </ul>

    2.提供说明信息

    CoreLocation 需要给用户展示一个信息,告诉他们为什么需要使用他们的位置信息。这个展示的信息,叫“usage string”,可以在info.plist文件中设置。

    然而,下拉列表中找到的唯一相关的 NSLocationUsageDescription 貌似不起什么作用。

    因为 NSLocationUsageDescription 在iOS8及iOS8+中都被忽略掉了。同时,有两个新的key被引入进来。

    • NSLocationAlwaysUsageDescription :前后台均允许使用
    • NSLocationWhenInUseUsageDescription : 只允许前台使用

    貌似Xcode并没有更新下拉列表中的内容,所以只能手动输入key了。

    在iPhone中相应的设置信息可以在这里看到:

    哦了,K06-Where结束了。回归地球。

    Ref:

    </div>

 本文由用户 cdduanwx 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1456912885000.html
iOS开发 Objective-C开发