如何从日历中获取我的应用程序的事件?
How to fetch my app's events from calendar?
我已经使用 EventKit 向日历添加了事件,我可以从日历中获取所有事件,但我只需要从日历中获取我的应用程序的事件。所以现在我的问题是,如何获取与我的应用程序相关的事件。
func getEvents() -> [EKEvent] {
var allEvents: [EKEvent] = []
// calendars
let calendars = self.eventStore.calendars(for: .event)
// iterate over all selected calendars
for (_, calendar) in calendars.enumerated() where isCalendarSelected(calendar.calendarIdentifier) {
// predicate for today (start to end)
let predicate = self.eventStore.predicateForEvents(withStart: self.initialDates.first!, end: self.initialDates.last!, calendars: [calendar])
let matchingEvents = self.eventStore.events(matching: predicate)
// iterate through events
for event in matchingEvents {
allEvents.append(event)
}
}
return allEvents
}
此代码将为您提供所有事件,然后您必须按标题或可以识别此事件来自您的应用程序的内容对其进行过滤:)
我已经使用 EventKit 向日历添加了事件,我可以从日历中获取所有事件,但我只需要从日历中获取我的应用程序的事件。所以现在我的问题是,如何获取与我的应用程序相关的事件。
func getEvents() -> [EKEvent] {
var allEvents: [EKEvent] = []
// calendars
let calendars = self.eventStore.calendars(for: .event)
// iterate over all selected calendars
for (_, calendar) in calendars.enumerated() where isCalendarSelected(calendar.calendarIdentifier) {
// predicate for today (start to end)
let predicate = self.eventStore.predicateForEvents(withStart: self.initialDates.first!, end: self.initialDates.last!, calendars: [calendar])
let matchingEvents = self.eventStore.events(matching: predicate)
// iterate through events
for event in matchingEvents {
allEvents.append(event)
}
}
return allEvents
}
此代码将为您提供所有事件,然后您必须按标题或可以识别此事件来自您的应用程序的内容对其进行过滤:)