ios - 在 iOS 应用程序外更改日历权限时崩溃

标签 ios calendar crash authorization eventkit

我正在将 EventKit 集成到一个 iOS 应用程序中,但我遇到了一个我无法调试的奇怪崩溃。

在应用程序中,我有一个 UISwitch 可以启用与日历相关的功能。首次打开开关时,应用程序请求日历授权,工作正常。如果您随后切换到设置应用程序(该应用程序仍在后台运行)并禁用日历授权,则该应用程序会在后台崩溃并显示 Message from debugger: Terminated due to signal 9 没有任何进一步的信息。这在模拟器(iPhone X,iOS 11.2;iPhone 6s,iOS 11.0.1)和我的手机(iPhone X,iOS 11.2.6)上都会发生。

反之亦然:当授权未被授予时(.denied),我将用户重定向到“设置”应用。当用户随后打开日历授权时,应用程序崩溃并显示相同的消息。

示例代码:https://gist.github.com/rbresjer/4e971c0650e63a53bd81056e962c121b

我的项目包含一个有效的 Info.plist 文件,其中包含日历使用的相关隐私说明。

有什么想法吗?

最佳答案

当您在设置中更改其权限时,这是 iOS 的预期行为。如果打开应用程序,系统将发送“来自调试器的消息:由于信号 9 而终止”,用户必须再次手动启动应用程序。

而且我相信在 SO 上有很多类似的问题。 像这样:App crashes in background while changing permission - swift

关于ios - 在 iOS 应用程序外更改日历权限时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49048251/

相关文章:

ios - 如何不保存 managedobjectcontext

ios - 在两个嵌套子类中调用 super.viewDidLoad() 时,我遇到了 Swift 的无限循环

docker - Kubernetes-通过php上传文件后nginx-ingress崩溃

ios - 将委托(delegate)消息从 UIPopover 发送到主 UIViewController

ios - 内存在 UITableViewCell 中增长

ios - 如何在应用商店中隐藏我的应用商店批准的应用?

ios - 获取EKEvent的日历标题

php - 制作一个简单的日历

javascript - 输入按钮 - Onclick 换色器

Eclipse 突然关闭