美文网首页
iOS - 相机功能权限判断和设置

iOS - 相机功能权限判断和设置

作者: 笑笑菜鸟 | 来源:发表于2021-04-15 09:46 被阅读0次

    调用系统相机功能之前事先对相机权限进行预判,若未开启则跳转至手机设置开启该功能,具体 code 如下:

    /*
      AVAuthorizationStatusNotDetermined 没有对应用程序授权进行操作
      AVAuthorizationStatusRestricted    没有授权访问的照片数据
      AVAuthorizationStatusDenied        用户拒绝对应用程序授权
      AVAuthorizationStatusAuthorized    用户对应用程序授权
    */
    NSString *mediaType = AVMediaTypeVideo; //读取媒体类型
    AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType]; //读取设备授权状态
    if (authStatus == AVAuthorizationStatusNotDetermined || authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied) { // 授权受阻
        UIAlertController *alterCon = [UIAlertController alertControllerWithTitle:@"是否开启相机访问权限?"
                                                                          message:nil
                                                                   preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction *OFF = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:nil];
        UIAlertAction *ON = [UIAlertAction actionWithTitle:@"去开启" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { // 设置权限
            NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
            if ([[UIApplication sharedApplication] canOpenURL:url]) {
                [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
                    // do something
                }];
            }
        }];
        [alterCon addAction:OFF];
        [alterCon addAction:ON];
        [controller presentViewController:alterCon animated:YES completion:nil];
    } else { // 已开启
        // do something
    }
    

    以上便是此次分享的全部内容,希望能对大家有所帮助!

    相关文章

      网友评论

          本文标题:iOS - 相机功能权限判断和设置

          本文链接:https://www.haomeiwen.com/subject/pcqdlltx.html