我正在将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文件,其中包含日历使用的相关隐私说明。
有什么想法吗?
答案 0 :(得分:0)
当您在设置中更改其权限时,这是iOS的预期行为。如果应用程序被打开,系统将发送“来自调试器的消息:由于信号9终止”,用户必须再次手动启动应用程序。
我相信在SO上有很多类似的问题。 像这样:App crashes in background while changing permission - swift