当用户选择允许访问iOS中的Camera时收到通知

Ank*_*ava 5 iphone ios avcapturesession

当应用程序尝试访问iOS中的Camera API时,会显示操作系统级别的警报视图.此处的用户必须允许访问摄像头或禁用访问.

我的问题是如何才能收到用户选择的通知..?

假设他选择了不允许访问,而不是我可以在我的应用程序中使用任何通知...?

任何帮助表示赞赏.

ken*_*ken 24

当相机出现时,您可以检查当前的授权状态,并手动请求授权,而不是让操作系统显示警报视图.这样,当用户接受/拒绝您的请求时,您会收到回调.

在快速:

let status = AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo)
if status == AVAuthorizationStatus.Authorized {
    // Show camera
} else if status == AVAuthorizationStatus.NotDetermined {
    // Request permission
    AVCaptureDevice.requestAccessForMediaType(AVMediaTypeVideo, completionHandler: { (granted) -> Void in
        if granted {
            // Show camera
        }
    })
} else {
    // User rejected permission. Ask user to switch it on in the Settings app manually
}
Run Code Online (Sandbox Code Playgroud)

如果用户先前已拒绝该请求,则呼叫requestAccessForMediaType将不会显示警报并立即执行完成块.在这种情况下,您可以选择显示自定义提醒并将用户链接到设置页面.在此更多信息在这里.