sale_order_id
https://developer.apple.com/documentation/avfoundation/avcapturedeviceinput/1450880-deviceinputwithdevice 我正在寻找一种模拟方式来获得通知,例如在以下位置请求音频许可:
+ (instancetype)deviceInputWithDevice:(AVCaptureDevice *)device
error:(NSError * _Nullable *)outError;
https://developer.apple.com/documentation/avfoundation/avaudiosession/1616601-requestrecordpermission Protecting the User's Privacy指南未概述访问相机的任何其他方法。
答案 0 :(得分:1)
通过从 AVCaptureDeviceInput 上检查authorizationStatus(for:)
,然后从中初始化 AVCaptureDeviceInput ,发现该解决方案实际上与iOS类似。
并根据需要使用requestAccess(for:completionHandler:)
来请求权限。
获取摄像头访问权限的示例:
let status = AVCaptureDevice.authorizationStatus(for: .video)
if status == .authorized {
// connect to video device
let devices = AVCaptureDevice.devices(for: .video)
...
return
}
if status == .denied {
// show error
return
}
AVCaptureDevice.requestAccess(for: .video) { (accessGranted) in
// handle result
}
答案 1 :(得分:0)
用于呈现对话框和捕获响应的Apple文档位于: Requesting Authorization for Media Capture on MacOS
它确实需要对话框的异步处理,因此结合检查授权状态和文档中介绍的方法可能会有所帮助。
史蒂夫