ios – EKEvent的eventIdentifier和calendarItemExternalIdentifier之间的区别

前端之家收集整理的这篇文章主要介绍了ios – EKEvent的eventIdentifier和calendarItemExternalIdentifier之间的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
阅读Apple的文档,我仍然对 EKCalenderItem’s calendarItemExternalIdentifierEKEvent’s eventIdentifier之间的差异感到困惑,我们应该使用哪一个来识别不同设备上的日历事件.特别:

EKCalendarItem calendarItemExternalIdentifier
The calendar item’s external identifier as provided by the calendar server. (read-only)

EKEvent eventIdentifier: A unique identifier for the event. (read-only)

EKCalendarItem calendarItemExternalIdentifier是在iOS6中添加的,我原以为这是我需要保存的标识符,以便稍后在EKEventStore eventWithIdenfier中调用:因为它声称:

This identifier allows you to access the same event or reminder across
multiple devices.

但是在我自己的测试中,似乎当我创建并保存新的EKEvent时,我从EKEvent对象获得的eventIdenifier是唯一且有用的,而我得到的calendarItemExternalIdentifier似乎不适用于EKEventStore eventWithIdenfier:

如果有人有确凿的答案,我很想知道.

解决方法

calendarItemExternalIdentifier是事件的 RFC 5545全局唯一标识符.它不是特定于EKEventStore,实际上它代表跨设备的事件(以及非iOS客户端).如果您要从收件箱中打开.ics附件,则此值将显示在邀请的UID字段中.

也就是说,您无法直接根据此标识符查找EKEventStore事件.相反,您需要在事件存储上执行谓词搜索,并检查每个事件的calendarItemExternalIdentifier.

原文链接:https://www.f2er.com/iOS/331962.html

猜你在找的iOS相关文章