日历/提醒应用程序(ios)中的日历/列表之间的差异

时间:2012-06-25 09:03:50

标签: ios calendar eventkit reminders

我的iOS应用程序创建日历,使用事件填充日历,有时会添加新事件。它存储已创建日历的ID,仅适用于它。无论如何,在某些情况下,此日历可能会被删除,例如,如果用户关闭与iCloud的同步并选择删除现有日历。我希望能够知道日历已被删除,以便我可以创建新日历并再次填充它。我尝试过的显而易见的方法是查找我的应用程序存储的ID日历,如果找不到具有此ID的日历,请考虑将其删除。但这种方法不起作用。

问题在于: 当带有警报的事件添加到日历时,此日历不仅会出现在日历应用程序中,还会出现在“提醒”应用程序中。当用户关闭iCloud for Calendars并选择删除现有日历时,只会删除Calendar应用程序中的日历。提醒应用程序中的日历仍然存在。剩余的日历仍然具有相同的ID,因此无法通过ID识别日历的删除。此日历也会停止允许添加事件。当应用尝试向此日历添加事件时,会引发异常“该日历不支持该类型的项目”。

我想确定事件的“真实”日历已被删除。我尝试在删除之前和之后比较日历。但是以下属性保持不变:allowsContentModifications,CGColor,immutable,title,type,source,subscribed,supportedEventAvailabilities,calendarIdentifier,description。

有没有遇到过同样的问题?关于如何区分“事件和警报日历”和“仅警报日历”的任何想法?

(我唯一想到的是尝试添加测试约会,如果此操作失败,请考虑日历是“仅用于警报”。但这不方便)

0 个答案:

没有答案