gpt4 book ai didi

eventkit - 如何在 macOS 应用程序中使用 Swift 中的 EventKit 获取日历权限

转载 作者:行者123 更新时间:2023-12-04 10:56:14 27 4
gpt4 key购买 nike

我正在尝试从我在 Xcode 11.2.1 中使用 Swift 5 开发的 Mac 应用程序向 macOS 日历添加日历事件。

首先,我有 日历 中检查了权利应用沙盒 .

我试图提示这样的权限:

import EventKit

@IBAction func clickAddToCalendar(_ sender: NSButton){
let eventStore = EKEventStore()
eventStore.requestAccess(to: .event){ granted, error in
print(granted) // returns false
print("----")
print(error) // returns nil
}
}

...但是 grantedfalse每次我都没有看到授予权限的弹出窗口。在 macOS 上是否需要像这样提示访问?看起来是这样,因为当我尝试像这样直接添加日历事件时:
let event = EKEvent(eventStore: eventStore)

event.title = "My Event"
event.startDate = Date()
event.endDate = Date()
event.calendar = eventStore.defaultCalendarForNewEvents

do {
try eventStore.save(event, span: .thisEvent)
} catch let error as NSError {
print(error)
}

...我收到一个错误:

serviceName = "com.apple.CalendarAgent.database"; ... returned error NSCocoaErrorDomain(134070) with userInfo dictionary { Problem = "request failed, insufficient permission" }



有没有人这样做可以给我一些指示?谢谢!

最佳答案

你有隐私 - 日历使用说明的 info.plist 项目吗?

EventKit 需要,请参阅 https://developer.apple.com/documentation/eventkit/accessing_the_event_store

关于eventkit - 如何在 macOS 应用程序中使用 Swift 中的 EventKit 获取日历权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59170067/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com