事件工具包中的授权错误.[命令行工具]



我创建了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];

我对结果什么也没做,但是在第一次调用时,弹出窗口会要求>终端<的权限来访问提醒。然后它起作用了。>

我写了一个导出提醒的工具,它使用这个:导出提醒的工具

最新更新