我创建了MacOS命令行应用程序。但是,我在尝试访问EKEventStore时遇到以下错误。
核心数据: XPC: 无法加载元数据: 错误 域=NSCocoa错误域代码=134070"在 持久存储。用户信息={问题=请求失败,不足 权限}
在Mac OS Sierra中,这工作得很好。但是当升级到莫哈韦时,它给了我这个错误。
主要.swift :
import Foundation
import EventKit
let store = EKEventStore()
print("asdasd")
信息列表:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>Privacy – Calendars Usage Description</key>
<string>You have to give permission to access your calendar sources</string>
</dict>
</plist>
应用程序从编译的命令行文件运行。但是,它不启用调试。感谢您的建议。
我也在卡塔琳娜身上看到了这种行为。唯一的解决方法是使用已弃用的 objc 调用:
store = [[EKEventStore alloc] initWithAccessToEntityTypes:EKEntityMaskReminder];
我对结果什么也没做,但是在第一次调用时,弹出窗口会要求>终端<的权限来访问提醒。然后它起作用了。>
我写了一个导出提醒的工具,它使用这个:导出提醒的工具