【发布时间】:2020-04-30 23:00:37
【问题描述】:
如果我通过设置应用程序阻止摄像头,此函数始终返回 true。它完全忽略了权限。其他人注意到了吗?
【问题讨论】:
标签: ios permissions camera
如果我通过设置应用程序阻止摄像头,此函数始终返回 true。它完全忽略了权限。其他人注意到了吗?
【问题讨论】:
标签: ios permissions camera
使用AVCaptureDevice.authorizationStatus(for: cameraMediaType) 进行授权检查
func checkCameraAuth() {
let authorizationStatus = AVCaptureDevice.authorizationStatus(for: .video)
switch authorizationStatus{
case .denied:
print("you can request permission from settings")
case .restricted:
print("Restricted")
case .authorized:
print("Authorized, proceed")
case .notDetermined:
AVCaptureDevice.requestAccess(for: .video) { success in
if success {
print("Permission granted you can now perform operation here")
} else {
print("Permission denied")
}
}
@unknown default:
fatalError()
}
}
【讨论】:
在 swift 4 中,您可以通过这种方式检查您的相机是否可用:
if AVCaptureDevice.authorizationStatus(for: .video) == .authorized {
//already authorized
} else {
AVCaptureDevice.requestAccess(for: .video, completionHandler: { (granted: Bool) in
if granted {
//access allowed
} else {
//access denied
}
})
}
从这里的答案 -> How to check if the user gave permission to use the camera?
【讨论】: