gpt4 book ai didi

swift - 在 EKEventStore 中创建一个 EKCalendar - Swift

转载 作者:行者123 更新时间:2023-11-28 05:29:40 24 4
gpt4 key购买 nike

当我的应用程序首次运行时,我试图在 EKEventStore 中创建一个日历。我找到了 this tutorial但我对 Objective-C 的了解还不够多,无法将其转换为 Swift,而且根据我所做的研究,我想知道这种方法在 ios8 中是否仍然可行。

最佳答案

尝试(注意这是提醒类型,但您可以根据需要更改类型):

let eventStore = EKEventStore()
var yourReminderCalendar: EKCalendar?

func retrieveYourCalendar() {
let calendars = eventStore.calendarsForEntityType(EKEntityTypeReminder)

if(yourReminderCalendar == nil) {
for calendar in calendars {
if calendar.title == "Your Title" {
yourReminderCalendar = (calendar as EKCalendar)
break
}
}

if(yourReminderCalendar == nil) {
yourReminderCalendar = EKCalendar(forEntityType: EKEntityTypeReminder, eventStore: eventStore)
yourReminderCalendar!.title = "Your Title"
yourReminderCalendar!.source = eventStore.defaultCalendarForNewReminders().source
var error: NSError?

if(eventStore.saveCalendar(yourReminderCalendar, commit: true, error: &error)) {
println("reminder cal saved")
}
else {
//HANDLE REMINDER ERROR
}
}
}
}

您需要检查授权:

    func verifyUserEventAuthorization() {
switch EKEventStore.authorizationStatusForEntityType(EKEntityTypeReminder) {
case .Authorized:
...
case .Denied:
...
case .NotDetermined:
eventStore.requestAccessToEntityType(EKEntityTypeReminder, completion:
{ [weak self](granted: Bool, error: NSError!) -> Void in
if granted {
...
}
else {
...
}
})
case .Restricted:
...
}
}

关于swift - 在 EKEventStore 中创建一个 EKCalendar - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29286359/

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