>最近在弄一个获取用户是否允许被定位的问题,搞了很久结果发现百度出来的都不是自己想要的答案,最后在一个博客上终于找到了,加上自己微薄的经验贴出来和大家分享,希望对大家有所帮助...
iOS 4.2 以后可以用 +(BOOL)locationServicesEnabled 和 + (CLAuthorizationStatus)authorizationStatus 两个方法来检查,前者是检查手机是否开启了定位,后者是检查应用是否拥有定位的权限。
其中CLAuthorizationStatus枚举类型各类型的含义翻译如下:
kCLAuthorizationStatusNotDetermined对于这个应用程序,用户还没有作出选择
kCLAuthorizationStatusRestricted此应用程序没有授权使用位置服务。由于位置服务的主动限制,用户无法更改此状态,并可能没有亲自拒绝授权
kCLAuthorizationStatusDenied用户已明确拒绝此应用程序的授权,或在设置中禁用位置服务。
kCLAuthorizationStatusAuthorizedAlways用户已授权使用他们的位置在任何时间,包括监测区域,访问,或显着的位置变化。
kCLAuthorizationStatusAuthorizedWhenInUse用户已授予授权使用他们的位置,只有当你的应用程序是可见的,他们(这将是可见的,如果你继续接收位置更新,而在背景中)。授权使用启动的原料药并没有被授予。
kCLAuthorizationStatusAuthorized这个值是不赞成的,但相当于新的总价值。
网友评论