当前位置: 首页 > 面试题库 >

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

柴俊捷
2023-03-14
问题内容

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

只要打开设置,它就可以正常工作,但是如果用户更改了Camera权限,则应用会在后台崩溃Message from debugger: Terminateddue to signal 9

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


问题答案:

您的应用程序没有崩溃,只是它被iOS强制以新的隐私设置重新启动。因此,当您更改摄像头权限时,这意味着隐私策略已更改,因此如果将应用附加到调试器,则该应用将被杀死,否则它将重新启动。

此外,不仅具有摄像头权限如果用户在某个时候更改了“通讯簿”,“日历”,“提醒”,“摄像头”或“照片”权限,iOS将对应用程序进行SIGKILL。(这是iOS的默认行为)



 类似资料:
  • 我需要捕获设备的IMEI和IMSI以及您已经知道的信息,这需要一个权限。当这个对话框窗口向用户请求这个权限时,我的应用程序被停止了。怎么解决? 更新2(AndroidManifest.xml文件):

  • 我是新的Android Studio。我想开始一个新的活动时,一个按钮被点击,我的应用程序不断停止。 这是我的代码:这是第一个活动(我有所有的导入) 第二类: 清单文件: 这是按钮: 从MainActivity到dispozive的转换很好。我不明白这两个为什么不起作用。谢谢你的帮助!新年快乐!(如果您今天看到:)) logcat:

  • 问题内容: 我正在尝试创建一个简单的手电筒应用程序,以学习android开发。我正在尝试获取它,以便当您单击灯光ImageView对象时,它会更改图像。但是现在,当调试器进入light.setImageResource()时,它崩溃。 它抛出的错误是 问题答案: 崩溃: 正如您的堆栈跟踪所说:“ java.lang。OutOfMemoryError : 未能分配51840012字节分配,其中包含4

  • 每当我请求权限时,我的应用程序就会崩溃。作为清单标记的子项,我在清单中定义了正确的使用权限。它没有给出任何错误,只是一个弹出窗口说包安装程序已经停止,监视器中有一行说“sendUserActionEvent()mView==null”,我不确定这与崩溃有关。 这是我请求权限的片段: 最低sdk设置为23,在三星Galaxy S7上进行测试。 你可以在这里看到完整的代码https://github.

  • 我是新的Android Studio。我想开始一个新的活动时,一个按钮被点击,我的应用程序不断停止。 这是我的代码:这是第一个活动(我有所有的导入) 第二类: 清单文件: 这是按钮: 从主活动到离散的过渡工作得很好。我不明白为什么这两个不工作。谢谢帮忙!新年快乐!(如果你今天看到这个:)) logcat:

  • 我想更改项目的包名,所以我更改了和中的。我使用下面的指南https://medium.com/@skyblazar.cc/how-to-change-the-package-name-of-your-flutter-app-4529e6e6e6fc更改了包名 Firebase数据库与我的项目链接,所以我想我也必须更改Firebase中的包名。因此,我在Firebase中添加了新的应用程序,更新了项