ios - Swift - 从日历中检索所有事件并获取事件的参与者

标签 ios swift calendar swift3 eventkit

在我的应用程序中,我试图获取在特定时间发生的所有事件。这是我的代码:

    let store = EKEventStore()
    store.requestAccess(to: EKEntityType.event) { (granted, error) in
   if(granted){
      let calendars = store.calendars(for: EKEntityType.event)
      for calendar in calendars {
      let predicate = store.predicateForEvents(withStart: (dates.first?.dateObject)!, end: (dates.last?.dateObject)!, calendars: [calendar])

                store.enumerateEvents(matching: predicate){ (event, stop) in
                    print(event.title)

                }

            }

        }else{
        print(error)
        }

问题是它只检索生日,不检索用户创建的事件或当天的假期。 这是我得到的输出: 凯特贝尔的生日 凯特贝尔的生日 凯特贝尔的生日 凯特贝尔的生日 约翰·阿普西德诞辰 约翰·阿普西德诞辰 约翰·阿普西德诞辰 约翰·阿普西德诞辰 安娜·哈洛诞辰 安娜·哈洛诞辰 安娜·哈洛诞辰 安娜·哈洛诞辰 大卫·泰勒诞辰 大卫·泰勒诞辰 大卫·泰勒诞辰 大卫·泰勒诞辰

  • 那么我怎样才能让它工作,以便我可以获得所有事件,包括用户在其日历上创建的事件。
  • 我如何检索每个事件的参与者?

最佳答案

要从所有日历中获取事件,请将 nil 分配给实例方法 predicateForEvents(withStart:end:calendars:) 的日历参数。

let predicate = store.predicateForEvents(withStart: (dates.first?.dateObject)!, end: (dates.last?.dateObject)!, calendars: nil)

https://developer.apple.com/documentation/eventkit/ekeventstore/1507479-predicateforevents

关于ios - Swift - 从日历中检索所有事件并获取事件的参与者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39804678/

相关文章:

ios - 在 Swift 中将一个默认属性值传递给另一个

ios - 可选解包失败,当 socket 连接正确时

swift - 无法在 Swift 中从 XCTest 打开 NSStream

php - 从 Swift 检索数据到 PHP,然后返回到 Swift

java - 使用 Calendar.MINUTE add 方法向 Calendar 对象添加秒数

iphone - Audiostreamer iOS 类 - ARC 错误

ios - Firebase 云消息传递和 IOS 的优缺点

android - 错误 :Cannot access the calendar you requested

ios - MKMap 不显示 Open Street Map 瓦片覆盖

c# - 在 Windows Phone 7 中显示不同的日历