在特定場景下我們需要判斷用戶是否允許應(yīng)用獲取定位權(quán)限
1.導(dǎo)入類庫:
#import <CoreLocation/CLLocationManager.h>
2.判斷用戶手機是否開啟了定位服務(wù):
這里就要查看CLLocationManager的授權(quán)狀態(tài),此方法會返回當前授權(quán)狀態(tài):
[CLLocationManager authorizationStatus]
授權(quán)狀態(tài)為枚舉值:
kCLAuthorizationStatusNotDetermined //用戶尚未對該應(yīng)用程序作出選擇
kCLAuthorizationStatusRestricted //應(yīng)用程序的定位權(quán)限被限制
kCLAuthorizationStatusAuthorizedAlways //一直允許獲取定位
kCLAuthorizationStatusAuthorizedWhenInUse //在使用時允許獲取定位
kCLAuthorizationStatusAuthorized //已廢棄,相當于一直允許獲取定位
kCLAuthorizationStatusDenied //拒絕獲取定位
3.判斷用戶是否授權(quán)應(yīng)用獲取定位權(quán)限的完整代碼:
if ([CLLocationManager locationServicesEnabled] && ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized)) {
//定位功能可用
}else if ([CLLocationManager authorizationStatus] ==kCLAuthorizationStatusDenied) {
//定位不能用
}
有不足之處還望補充滓鸠。