我需要提示用户通过UIAlertController更改我的应用程序的相机权限.警报具有以下操作:
alert.addAction(UIAlertAction(title: "Open Settings", style: .default, handler: { (action) -> Void in
guard let settingsUrl = URL(string: UIApplicationOpenSettingsURLString) else {
return
}
if UIApplication.shared.canOpenURL(settingsUrl) {
DispatchQueue.main.async(execute: {
UIApplication.shared.openURL(settingsUrl)
})
}
}))
Run Code Online (Sandbox Code Playgroud)
这在打开设置时确实有效,但如果用户更改了相机权限,则应用程序会在后台崩溃Message from debugger: Terminated due to signal 9.
他们现在可以打开应用程序并且权限是正确的,但是他们需要从头开始.有谁知道如何解决这个问题?