iOS 检测是否开启定位,自动跳转去开启定位界面

2018-03-22  本文已影响952人  iOS刘耀宗

在需要使用地理位置的时候就需要打开使用地理位置的权限.很多时候用户在第一时间就直接关闭了使用地理位置的权限,那么用户使用到了地理位置的时候就需要提醒用户去开启权限:

具体效果如下: 6CO5L.gif

具体实现代码如下:

 BOOL enable=[CLLocationManager locationServicesEnabled];
    NSInteger status=[CLLocationManager authorizationStatus];
    if(!enable || status<3)
    {
        if ([[UIDevice currentDevice].systemVersion floatValue] >= 8)
        {
            CLLocationManager  *locationManager = [[CLLocationManager alloc] init];
            [locationManager requestAlwaysAuthorization];
            [locationManager requestWhenInUseAuthorization];
        }
        UIAlertController *alertView=[UIAlertController alertControllerWithTitle:@"打开定位开关提供更优质的服务" message:@"定位服务未开启,请进入系统[设置]> [隐私] > [定位服务]中打开开关,并允许使用定位服务" preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction *sureAction=[UIAlertAction actionWithTitle:@"立即开启" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
        }];
        UIAlertAction *cancelAction=[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
            
        }];
        [alertView addAction:sureAction];
        [alertView addAction:cancelAction];
        
        [self presentViewController:alertView animated:YES completion:nil];  
    }
有问题可直接咨询我,欢迎在评论区指出不足,或者优化建议    承接APP,小程序,公众号开发. 性价比高.+V信:17723566468  有单子也可找我一起做哦
上一篇下一篇

猜你喜欢

热点阅读