ios - calendarsForEntityType返回空数组

标签 ios objective-c ekeventstore

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

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

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

    最佳答案

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

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

    关于ios - calendarsForEntityType返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26507616/

    相关文章:

    ios - 如何从 UITextfields UIMenuController 中删除不需要的 UIMenuItems?

    ios - 如何显示一个窗口?

    c++ - OpenCV 3.2.0 iOS 类型转换 : int to __CLPK_integer *

    objective-c - 使用带换行符的 NSString "drawInRect"

    iphone - 为什么 UIWebView 吃这么多内存?

    ios - 如何删除保存为 EKReminder 的提醒?

    ios - 使用predicateForEventsWithStartDate:endDate:calendars方法查找EKEvents

    ios - 由于未捕获的异常 'NSRangeException' 而终止应用程序,原因 : '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array

    objective-c - SMJobBless 和 NSXPCConnection

    ios - EKCADErrorDomain 使用 calendarWithIdentifier