如果用户更改相机权限,应用程序会在后台崩溃,并显示来自调试器的消息:由于信号 9 终止。
他们现在可以打开应用程序并且权限是正确的,但他们需要从头开始。有谁知道如何解决这一问题?
我需要通过 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)
})
}
}))
最佳答案
这不是您的应用程序的问题。这正是苹果设计 iOS 的方式。当用户更改应用程序的某些权限时,iOS 将终止该应用程序。
实际上,在切换设置时,您会收到一条 SIGKILL 消息,但没有崩溃日志。在这种情况下甚至 applicationWillTerminate
不被叫!
所以答案是你无法修复它。
看this slide的第24页
关于ios - 应用程序被 iOS 强制重启并使用新的隐私设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53426277/