calendarsForEntityType返回空数组

时间:2014-10-22 12:36:34

标签: ios objective-c ekeventstore

我正在经历EKEventStore的奇怪行为。

  1. 启动了应用,但未允许访问我的日历。
  2. 显然我无法接近我的日历“Granted = NO”......
  3. 杀了该应用。
  4. 去设置并启用对日历的访问权。
  5. 再次启动应用程序,现在我得到“Granted = YES”但[self.store calendarsForEntityType:EKEntityTypeEvent]返回一个空数组。
  6. 我确保self.store不是nil,而且我的日历中确实有Calendars对象。还有什么呢?

1 个答案:

答案 0 :(得分:0)

问题显然在你的self.store中,你如何构建它?

基于documentation,你必须检索EKEventStore对象的sources属性,这是一个EKSource类型的数组,你可以在其上调用calendarsForEntityType

  

EKSource类的实例表示a的帐户   日历属于。您不创建此类的实例。您   从EKEventStore对象检索EKSource对象。使用来源   获取事件存储的所有EKSource对象的属性,并使用   此类中的方法可以访问源对象的属性。