gpt4 book ai didi

xcode - 在 OSX 上使用 EventKit 和 swift

转载 作者:行者123 更新时间:2023-11-28 10:00:43 25 4
gpt4 key购买 nike

我正在尝试使用 swift 从 iCal 获取本周所有事件的列表。我想看看有多少事件以及它们属于什么类别。如何以编程方式完成此操作。Eventkit 是正确的选择还是应该使用 AppleScript?是否有使用 swift 的 Eventkit 的教程?我找不到一个。

最佳答案

我使用以下单例访问 EventStore

private let _SingletonSharedInstance = EventStore()

class EventStore {
let eventStore = EKEventStore ()

class var sharedInstance : EventStore {
return _SingletonSharedInstance
}

init() {
var sema = dispatch_semaphore_create(0)
var hasAccess = false

eventStore.requestAccessToEntityType(EKEntityTypeEvent, completion: { (granted:Bool, error:NSError?) in hasAccess = granted; dispatch_semaphore_signal(sema) })

dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER)
if (!hasAccess) {
alert ("ACCESS", "ACCESS LONG")
let sharedWorkspace = NSWorkspace.sharedWorkspace()
sharedWorkspace.openFile("/Applications/System Preferences.app")
exit (0)
}
}
}

注意:alert 是我创建警报的私有(private)方法之一。根据需要更换它。

要访问我使用的应用程序中的 eventstore

let eventStore = EventStore.sharedInstance.eventStore
...
for et in eventStore.calendarsForEntityType(EKEntityTypeEvent) {
// check calendars
}

关于 then event store 的文档非常完整,因此您可以从这里开始。

关于xcode - 在 OSX 上使用 EventKit 和 swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29412517/

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