我变得疯狂,我即将完成我的应用,但我正处理一个非常复杂的问题,对我而言。好的,我将解释,我的应用程序使用相机读取QR码,然后我添加了在信息plist中使用相机的权限,以便用户能够允许或不允许相机,如果用户按下don&# 39; t允许我显示警告,告诉用户应用程序需要使用相机才能正常工作,然后用户没有其他选项,用户需要按下按钮" Aceptar&#34 ;,并且该按钮向用户发送设置以允许摄像头,当我返回应用程序时,应用程序退出并且用户必须再次登录并且一旦用户执行此操作,相机正常工作,这就出现了问题,我想要的是当我在设置中并启用相机并返回我的应用程序时,应用程序应该保留在显示警报的位置。希望你能理解我。
这是我的代码
这是警告
let alert = UIAlertController(title: "¡ATENCIÓN!", message: "Esta aplicacion necesita accesar a tu cámara para funcionar correctamente, has click en ACEPTAR para ir a la configuración.", preferredStyle: UIAlertControllerStyle.alert)
//alert.addAction(UIAlertAction(title: "Cancelar", style: .default, handler: nil))
alert.addAction(UIAlertAction(title: "ACEPTAR", style: .cancel, handler: { (alert) -> Void in
UIApplication.shared.openURL(NSURL(string: UIApplicationOpenSettingsURLString)! as URL)
}))
present(alert, animated: true, completion: nil)
}
这是处理事件的功能,以便在用户第一次允许的情况下显示继续警告,我的意思是在第一次启动应用时显示的警报
func authorizationStatus() {
let authorizationStatus = AVCaptureDevice.authorizationStatus(forMediaType: AVMediaTypeVideo)
switch authorizationStatus {
case .notDetermined:
AVCaptureDevice.requestAccess(forMediaType: AVMediaTypeVideo) { granted in
if granted {
print("access granted")
}
else {
print("access denied")
self.alertToEncourageCameraAccessInitially()
}
}
case .authorized:
print("Access authorized")
case .denied, .restricted:
print("restricted")
}
}