我正在通过EKEventStore发生奇怪的行为。

  • 启动了该应用,但不允许访问我的日历。
  • 很显然,我无法将我的日历设置为“Granted = NO” ...
  • 终止了该应用程序。
  • 进行设置并启用对日历的访问。
  • 再次运行该应用程序,现在我得到“Granted = YES”,但[self.store calendarsForEntityType:EKEntityTypeEvent]返回一个空数组。

  • 我确保self.store不为零,并且我的Calendar中确实有Calendars对象。还有什么呢?

    最佳答案

    问题显然出在您的self.store中,您如何构造它?

    基于documentation,您必须检索EKEventStore对象的sources属性,该属性是EKSource类型的数组,可以在其上调用calendarsForEntityType
    EKSource类的实例代表
    日历属于。您不创建此类的实例。您
    从EKEventStore对象检索EKSource对象。使用来源
    属性以获取事件存储的所有EKSource对象,并使用
    此类中的方法访问源对象的属性。

    08-26 03:20