Локальный 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:
,