Локальный EKCalendar сохраняется без ошибок, исчезает

Я пытаюсь создать календарь с EKSourceTypeLocal источник. Перебрать self.eventStore.sourcesнайти тот с sourceType == .Local и попытаться создать новый календарь с ним.

self.calendar = EKCalendar(forEntityType: EKEntityType.Event, eventStore: self.eventStore)
self.calendar?.title = "My Awesome Calendar"
self.calendar?.source = src // src.sourceType == .Local
print("Created \(self.calendar!)")
do {
     try self.eventStore.saveCalendar(self.calendar!, commit: true)
} catch let err as NSError {
      print("Whoops: \(err)")
}

Это выполняется без проблем и позволяет мне добавить некоторые события в этот календарь. Тем не менее, когда я переключаюсь на собственное приложение Календарь, этого нового нет, если я запрашиваю self.eventStore.calendarsForEntityType(EKEntityType.Event) после того как все вышеперечисленное завершено, его тоже нет, и если я перезапущу приложение, календарь, который я создал, и все его события нигде не будут найдены. Что происходит?

1 ответ

Если у вас есть календари из других источников, активных на вашем устройстве, календари типа EKSourceTypeLocal не будет виден в приложении Apple Calendars.

Кроме того, хранилище событий не будет отображать локальный календарь, когда другие источники календаря активны.

Если вы деактивируете другие календари, вы сможете увидеть сохраненный локальный календарь как в приложении "Календари", так и в хранилище событий.

Я предполагаю, что ваше приложение имеет необходимые разрешения, полученные с помощью requestAccessToEntityType:completion:,

Другие вопросы по тегам