救命,
尝试从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")
}
})
确保您至少有一个提醒。如果您在模拟器中运行,则可能没有任何提醒,也不会看到日历。至少,这是我在测试时看到的。