救命,
尝试从EventKit中获取提醒列表。
这只是什么都不返回。如果我将EKEntityType.Reminder更改为.Event,我将获得calendars(Events),因此我知道代码通常很好。

思想

var eventStore = EKEventStore()

func get_calendars(completed: (([EKCalendar])->())) {
   print("in Get_Calendars")

   let calendars = eventStore.calendarsForEntityType(EKEntityType.Reminder)

    for calendar in calendars as [EKCalendar] {
        // 2
        print(calendar.title)
        print(calendar.calendarIdentifier)
    }
}

最佳答案

两个想法。


确保您已请求访问提醒:

let eventStore = EKEventStore()
eventStore.requestAccessToEntityType(EKEntityType.Reminder, completion: {
    granted, error in

    if granted {
        let calendars = eventStore.calendarsForEntityType(.Reminder)

        for calendar in calendars as [EKCalendar] {
            print(calendar.title)
            print(calendar.calendarIdentifier)
        }
    }
    else {
        print("Permission denied by user")
    }
})

确保您至少有一个提醒。如果您在模拟器中运行,则可能没有任何提醒,也不会看到日历。至少,这是我在测试时看到的。

07-26 09:42
查看更多