如何从日历中获取我的应用程序的事件?

Posted

技术标签:

【中文标题】如何从日历中获取我的应用程序的事件?【英文标题】:How to fetch my app's events from calendar? 【发布时间】:2018-08-07 06:21:54 【问题描述】:

我已经使用 EventKit 将事件添加到日历中,并且我可以从日历中获取所有事件,但我只需要从日历中获取我的应用程序的事件。所以现在我的问题是,如何获取与我的应用程序相关的事件。

【问题讨论】:

【参考方案1】:
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

此代码将为您提供所有事件,然后您必须按标题或可以识别此事件来自您的应用的其他内容对其进行过滤:)

【讨论】:

以上是关于如何从日历中获取我的应用程序的事件?的主要内容,如果未能解决你的问题,请参考以下文章

获取Chrome扩展程序中日历事件的推送通知

如何获取设备日历(默认日历)事件并显示在我们的应用程序中?

如何从单个谷歌帐户的多个谷歌日历中获取所有事件?

从数据库获取事件并放置日历视图(android)

如何使用 JavaScript 从 Google 日历页面获取事件 ID?

我的应用程序如何获取用户 iPhone 上的日历列表