美文网首页
macOS 10.14请求麦克风和摄像机授权

macOS 10.14请求麦克风和摄像机授权

作者: 陈清平 | 来源:发表于2019-08-20 16:46 被阅读0次

    文章参考:https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/requesting_authorization_for_media_capture_on_macos?language=objc

    1.背景

    macOS 10.14增加了对麦克风和摄像机的访问授权,在访问时会弹框请求授权。

    image

    2.主动请求授权

    如果在访问到麦克风和摄像机的时候再弹出授权,可能有点晚,我们可以在App启动的时候就主动提示授权。
    在工程的info.plist里面加上麦克风和摄像机的访问说明的Key:
    Privacy - Camera Usage Description
    Privacy - Microphone Usage Description

    Value可以写上要访问的原因,不想写空着也行。

    image

    代码如下:

    // macos 10.14以上系统才执行
    if(@available(macos 10.14, *))
    {
        // 请求摄像机授权,v如果是麦克风的话参数是AVMediaTypeAudio.
        switch ([AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo])
        {
            case AVAuthorizationStatusAuthorized:
            {
                // 已经授权同意.
                [self setupCaptureSession];
                break;
            }
            case AVAuthorizationStatusNotDetermined:
            {
                // 从未处理过授权
                [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
                    if (granted) {
                        [self setupCaptureSession];
                    }
                }];
                break;
            }
            case AVAuthorizationStatusDenied:
            {
                // 授权拒绝
                return;
            }
            case AVAuthorizationStatusRestricted:
            {
                // 家长管制等
                return;
            }
        }
    }
    

    重置授权状态

    tccutil reset Microphone
    tccutil reset Camera
    
    tccutil reset Microphone app_Identifier
    tccutil reset Camera app_Identifier
    

    相关文章

      网友评论

          本文标题:macOS 10.14请求麦克风和摄像机授权

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