如何从我的应用程序传递允许相机在设置和返回应用程序时不要注销

时间:2017-03-29 22:04:01

标签: ios swift avfoundation ios-camera

我变得疯狂,我即将完成我的应用,但我正处理一个非常复杂的问题,对我而言。好的,我将解释,我的应用程序使用相机读取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")

    }
}

0 个答案:

没有答案