swift - EKEventStore 请求 macOS 上的联系人访问权限
问题描述
在 MacOS 10.15.4、Xcode 11.4、macOS 应用程序上:
初始化一个EKEventStore
生成系统联系人访问请求对话框:““应用程序”想访问您的联系人。我不希望发生这种情况,因为 EKEventStore 应该只关注提醒/日历。
该项目仅包含从默认值修改的这些文件。
// App.entitlements
com.apple.security.app-sandbox: YES
com.apple.security.personal-information.addressbook: YES
// info.plist
NSContactsUsageDescription: "some desc"
// AppDelegate.swift
import Cocoa
import EventKit
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
EKEventStore()
}
}
没有日志打印到 Xcode 控制台。
起初我怀疑这可能是由共享日历/提醒列表引起的,但它似乎发生在根本没有日历/提醒列表的帐户上。
有人知道为什么会这样吗?
解决方案
我也遇到了同样的问题,我在一个最小的示例应用程序中重现了它。当您实例化 EKEventStore 并且您的项目具有“地址簿”权利以及“日历”权利时,就会出现问题。
我已经向 Apple (FB7757440) 提交了反馈,他们表示该问题仍然存在,但类似的报告不到 10 个。我只能建议您提交自己的问题以帮助加快问题的速度。
推荐阅读
- reactjs - 当数据在缓存中可用时,停止中继现代 useLazyLoadQuery 在分页中重新获取?
- amazon-cloudformation - 如何在 AWS CloudFormation 模板中定义和测试空字符串?
- javascript - 如何确定表单字段值如何更改,而不仅仅是它已经更改?
- reactjs - 让 TimelineLite 在 Gatsby 网站上只播放一次
- c - 如何在#if 条件检查中使用全局变量?
- vuetify.js - 拆分复选框
- arrays - 从 Bash 中的子字符串创建数组不起作用
- aws-amplify - AWS Amplify 无法识别新添加的文件
- python - 安装错误:无法从“six.moves”(未知位置)导入名称“collections_abc”
- docker - 如何使用 docker 暴露特使?