看简书也两三年了,确实受益非浅,鉴于水平有限,一直默默潜水😊,后面会陆续写一些工作和学习笔记,供自己学习也希望对大家有所帮助。就从这一篇简单的定位开始吧。
可以利用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) {
//定位不能用
}
网友评论