我有一个使用 EventKit 的应用程序。我请求允许提醒,然后我有创建提醒的代码。在模拟器中运行应用程序时,我有时会在日志中收到此错误消息:
从守护进程获取自时间戳 450512391.766620 以来更改的对象 ID 时出错:错误域 = EKCADErrorDomain 代码 = 1013“操作无法完成。(EKCADErrorDomain 错误 1013。)”
获取新提醒的默认日历时出错:错误域 = EKCADErrorDomain 代码 = 1013“操作无法完成。(EKCADErrorDomain 错误 1013。)”
第一个错误来自授权步骤,第二个来自这些行:
EKReminder *reminder = [EKReminder 提醒WithEventStore:eventStore];
提醒.calendar = eventStore.defaultCalendarForNewReminders;
这发生在 requestAccessToEntityType:completion: 返回已授予的提醒权限之后,因此肯定有权限。
奇怪的是,一旦问题发生,如果我只是重新启动应用程序,一切都很好。如果我重置模拟器并重新运行应用程序,这种情况有时会再次发生。
Best Answer-推荐答案 strong>
这似乎只发生在以下工作流程中:
- 重置所有联系人和设置菜单选项。
- 模拟器恢复后立即退出。
- 运行您的应用,该应用会立即在刚刚重置、从未打开过的模拟器上询问日历信息。
我怀疑原因是因为当你重置整个模拟器时,它需要几秒钟来初始化所有演示数据,例如第一次“启动”时的联系人和日历事件。
如果您在重置后等待 10 多秒,然后运行您的应用,您不会收到此警告。
另一种解决方法是在日历权限测试期间使用 iOS 模拟器设置应用程序中的“重置隐私设置”(常规 > 重置)。
关于ios - 使用 EventKit 创建提醒时出错,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/29586675/
|