美文网首页
iOS - 判断应用的定位权限

iOS - 判断应用的定位权限

作者: Cdream | 来源:发表于2016-05-04 11:55 被阅读1404次

用到地图定位的时候,会判断定位是否可用来初始化定位服务。 但是以前的方法是判断所有应用的定位服务,无法指定到当前应用是否开启服务。下面的就可以直接搞定这个问题。

if ([CLLocationManager locationServicesEnabled] && ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedAlways || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined)) {
        
            NSLog(@"定位功能可用");
        
        }else if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusRestricted){
            
            NSLog(@"定位功能不可用,提示用户或忽略");
    }

authorizationStatus状态说明:

typedef NS_ENUM(int, CLAuthorizationStatus) {

  // 用户从未选择过权限
  kCLAuthorizationStatusNotDetermined = 0,
  // 无法使用定位服务,该状态用户无法改变
  kCLAuthorizationStatusRestricted,
  // 用户拒绝该应用使用定位服务,或是定位服务总开关处于关闭状态
  kCLAuthorizationStatusDenied,
  // 这个值已弃用
  kCLAuthorizationStatusAuthorized
  // 用户允许该程序无论何时都可以使用地理信息
  kCLAuthorizationStatusAuthorizedAlways 
 // 用户同意程序在可见时使用地理位置
  kCLAuthorizationStatusAuthorizedWhenInUse 

};

相关文章

网友评论

      本文标题:iOS - 判断应用的定位权限

      本文链接:https://www.haomeiwen.com/subject/aymrrttx.html