是否需要联系人权限密钥来防止 EKEventEditViewController 崩溃?

Is the contact permission key required to prevent crash with EKEventEditViewController?

我遇到了一个边缘案例错误,当使用 EKEventEditViewController 然后进入 Locations View 时,如果 Info.plist 中没有联系人权限的密钥,应用程序将崩溃。这是因为 EKEventEditViewController 中的 Location 视图使用联系人来搜索地址。这发生在执行典型的 EKEventEditViewController 的 root.present(editController, animated:true, completion:nil) 并授予日历权限时。

我在后台线程中遇到了类似的崩溃 - 崩溃:com.apple.root.default-qos。 我得出了同样的结论——应用程序试图访问联系人。但是文档对此只字不提。 我已将 NSContactsUsageDescription 字符串添加到 plist 中,问题消失了。