iOS 判断应用定位权限

2017-05-12  本文已影响0人  _牙牙

看简书也两三年了,确实受益非浅,鉴于水平有限,一直默默潜水😊,后面会陆续写一些工作和学习笔记,供自己学习也希望对大家有所帮助。就从这一篇简单的定位开始吧。
可以利用CLLocationManager查看用户定位的授权状态,主要对应两个方法:
[CLLocationManager locationServicesEnabled],返回一个BOOL类型,用来判断是否打开了位置服务
[CLLocationManager authorizationStatus],用来返回当前授权状态,返回状态为枚举类型

授权状态为枚举值:
kCLAuthorizationStatusNotDetermined                  //用户尚未对该应用程序作出选择
kCLAuthorizationStatusRestricted                     //应用程序的定位权限被限制 
kCLAuthorizationStatusAuthorizedAlways               //一直允许获取定位
kCLAuthorizationStatusAuthorizedWhenInUse            //在使用时允许获取定位
kCLAuthorizationStatusAuthorized                     //已废弃,相当于一直允许获取定位
kCLAuthorizationStatusDenied                         //拒绝获取定位

1.导入类库:


 #import <CoreLocation/CLLocationManager.h>

2.代码实现:


if ([CLLocationManager locationServicesEnabled] && ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized)) {        

//定位功能可用

}else if ([CLLocationManager authorizationStatus] ==kCLAuthorizationStatusDenied) {

//定位不能用

}

上一篇 下一篇

猜你喜欢

热点阅读