EKEvent <!ExceptionDate!> 与 RID

EKEvent <!ExceptionDate!> vs RID

我有 iOS 应用程序(写在 objective c 上)可以处理日历中的事件。 我看到的一些奇怪的事情是,在经常性会议的变化中,在大多数情况下,calendarItemExternalIdentifier 字段已更改,并且添加了 /RID=XXXXXXX 部分,但在某些情况下,我收到相同的 calendarItemExternalIdentifier,最后添加了 20161205 .

例如我有这样的外部标识符:

oiok2qp12o6k3d2ru34v885njo@google.com

并且在更改时我可以收到这个:

oiok2qp12o6k3d2ru34v885njo@google.com/RID=505299600 

或者这个:

oiok2qp12o6k3d2ru34v885njo@google.com<!ExceptionDate!>20161205

为什么我们有这个,有什么区别?

据我所知(也在为此搜索答案时)<差异取决于您使用的日历类型。

Exchange 日历 事件使用 /RID=,其中时间戳是自 00:00:00 UTC 1 月 1 日以来的时间间隔2001 年到新日期。

本地日历(我认为是 CalDAV 日历 - 我稍后会检查)使用