更改权限时应用在后台崩溃 - 快速

时间:2017-05-15 08:33:22

标签: ios iphone swift

我需要提示用户通过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)
        })
    }
}))

这可以在打开设置时起作用,但如果用户更改了相机权限,则应用会在后台使用Message from debugger: Terminated due to signal 9崩溃。

他们现在可以打开应用程序并且权限是正确的,但是他们需要从头开始。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:34)

你的应用程序没有因为新的隐私设置而被迫重启iOS。因此,当您更改摄像机权限时,这意味着隐私政策已更改,因此,如果应用程序附加到调试器,它将被终止,否则它将重新启动。

此外,不仅相机权限如果用户在某些时候更改了地址簿,日历,提醒,相机或照片权限,iOS将SIGKILL应用程序。 (它的iOS默认行为)