2014-10-22 4 views
1

Я испытываю странное поведение с помощью EKEventStore.calendarsForEntityType возвращает пустой массив

  1. Начато приложение и не разрешено доступ к моим Календари.
  2. Очевидно, я не мог подойти к моим Календари как «Предоставлено = НЕТ» ...
  3. Убито приложение.
  4. Пошел в настройки и разрешил доступ к Календари.
  5. Отказаться от приложения снова, теперь я получаю «Granted = YES», но [self.store calendarsForEntityType: EKEntityTypeEvent] возвращает пустой массив.

Я убедился, что self.store не ноль и что у меня есть объекты Календари в моих Календарях. Что еще это может быть?

+0

Попытайтесь проверить тип 'EKEntityTypeReminder' также. Вероятно, ни один из ваших объектов календаря не имеет типа EKEntityTypeEvent. – deimus

+0

Нет ... Что-то еще? –

ответ

0

Вопрос, очевидно, находится в вашем self.store, как вы его строите?

На основе documentation вы должны извлечь sources свойство EKEventStore объекта, который представляет собой массив EKSource типа, на котором вы можете позвонить calendarsForEntityType

Экземпляр класса EKSource представляет учетную запись о том, что Календарь принадлежит. Вы не создаете экземпляры этого класса. Вы извлекаете объекты EKSource из объекта EKEventStore. Используйте источник , чтобы получить все объекты EKSource для хранилища событий и использовать методы для этого класса для доступа к свойствам исходного объекта.