您的位置:首页 > 移动开发 > IOS开发

iOS9下有关CoreLocation学习二

2016-02-23 09:38 513 查看

CoreLocation

补充:代理方法中程序定位状态的改变

//授权状态改变的时候->status当前的授权状态
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status{
switch(status){
case kCLAuthorizationStatusNotDetermined:
{
NSLog(@"用户没有决定");
break;
}
case kCLAuthorizationStatusRestricted:
{
NSLog(@"受到限制");
break;
}
//用户延迟了应用的授权,或者设置中的定位服务并没有打开
case kCLAuthorizationStatusDenied:
{
//判断系统定位服务有没有打开
if ([CLLocationManager locationServicesEnabled]) {
NSLog(@"系统定位服务已经开启");
//还是不行->程序的定位服务没有开启->引导用户打开程序的定位服务限制

//iOS8.0以下->截图引导用户打开定位服务

//iOS8.0以上
NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
//这个时候应用跳转到该程序的定位服务设置界面,打开其定位服务即可
}

}else
{
NSLog(@"系统定位服务开启失败");
}
break;
}
case kCLAuthorizationStatusAuthorizedAlways:
{
NSLog(@"前后台定位授权");
break;
}
case kCLAuthorizationStatusAuthorizedWhenInUse:
{
NSLog(@"前台定位授权");
break;

}
default:break;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: