1.背景
macOS 10.14增加了对麦克风和摄像机的访问授权,在访问时会弹框请求授权。
image2.主动请求授权
如果在访问到麦克风和摄像机的时候再弹出授权,可能有点晚,我们可以在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
网友评论