我需要通过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)
})
}
}))
这在打开设置方面确实有效,但如果用户更改了相机权限,应用程序将在后台崩溃,显示来自调试器的消息:由于信号9终止
。
现在他们可以打开应用程序并且权限是正确的,但是他们需要从头开始。有人知道如何解决这个问题吗?