我正在EKEvent
使用 获取 EventKit 实例[EKEventStore eventsMatchingPredicate:]
。然后我要么删除它们(通过使用[EKEventStore removeEvent:span:error:]
)或修改它们(通过设置各种属性并使用[EKEVentStore saveEvent:span:error:]
)。我试图让我的应用程序与 iOS4.3 兼容,所以我没有使用带有“提交”机制的新方法。
两者都在我打电话给他们时saveEvent
返回removeEvent
。YES
尽管如此,出于某种原因,我还是看到了一些非常奇怪的行为(在物理 iPhone 4 / iOS4.3.3 设备上):
- 将事件从一个日历移动到另一个(设置
EKEvent.calendar
然后调用saveEvent
)时,该事件最终会出现在两个日历中!(这种情况每次或几乎每次都会发生)。 - 删除事件时,该事件有时实际上并没有被删除(通过本机日历应用程序验证),即使
removeEvent
返回YES
. 这是一个间歇性问题,大约有 10% 的时间发生。 - 更改事件标题(设置
EKEvent.title
然后调用saveEvent
)时,事件有时实际上并没有被删除,即使saveEvent
返回YES
。这也是高度间歇性的,尽管似乎比删除问题更频繁地发生。
如何确保我的事件被正确删除/更新?