更改日历隐私时 iOS 7 应用程序崩溃

Posted

技术标签:

【中文标题】更改日历隐私时 iOS 7 应用程序崩溃【英文标题】:iOS 7 app crashes when changing calendar privacy 【发布时间】:2013-12-03 05:10:48 【问题描述】:

我有一个应用程序,它使用 Event Kit 将一些事件与 ios 日历同步。 除了一个例外,这很好用。 如果应用程序处于后台/暂停状态并且日历的隐私设置被更改(设置 > 隐私 > 日历 > 我的应用程序),则应用程序崩溃。 即使尚未使用使用 EkEventKit 的类也会发生这种情况

到目前为止,我只在 iOS 模拟器中运行过它,但 Xcode 并没有提供太多有用的信息,只是向应用发送了 SIGKILL。

有人可以建议可能导致此问题的原因或我如何找出原因

【问题讨论】:

糟糕,SOF 将我的答案转换为评论,我将在下面添加我的答案 App crashed in iOS 6 when user changes Contacts access permissions 的可能副本。即使它谈到了联系人的权限,也是同样的问题。 【参考方案1】:

这实际上不是崩溃,尽管当您通过 xCode 在设备上进行测试时会出现这种情况。如果您拔下设备并进行进一步测试,您会注意到,当您在更改隐私设置后返回应用程序时,一旦隐私设置更改,应用程序就会被终止,并在您返回时重新启动。

我不确定模拟器,但我猜它是一样的。 (我正在开发的应用程序使用日历,所以我不得不在设备本身上进行所有测试)

【讨论】:

所以这是预期的行为?这意味着我可以删除一些我放入 appDidEnterForeground 和其他地方的权限检查 是的,您仍然需要至少一项权限检查,以便您可以禁用 UI 并告诉用户如何重新启用它。自从应用程序终止以来,我不认为您需要进行 1 次以上的检查。可以在应用加载时进行检查。 是的 - 如果你在设备上运行应用程序,独立于 Xcode 设备调试或模拟器,你会看到应用程序只是重新启动,对用户是不可见的。确保您的应用能够很好地处理重启,它会是黄金! 感谢您的回答!在 iOS 9.1、Xcode 7.1.1 上的行为相同。

以上是关于更改日历隐私时 iOS 7 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

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

iOS 设置(隐私 -> 定位服务 -> 选择我的应用 -> 更改允许访问)崩溃

访问 EKevent 和 EKReminder

iOS 使用新的隐私设置强制重启应用

iOS 7 只有应用程序在启动时崩溃

iOS 7 Only App在启动时崩溃