Сохраненный календарь (через приложение) исчезает при перезапуске устройства iOS (iPhone)
Создание календаря подписанного типа и добавление событий в календарь, как показано ниже
let eventStore = EKEventStore()
func createCalendar() {
let newCalendar = EKCalendar(for: .event, eventStore: eventStore)
newCalendar.title = "MyCal"
let sourcesInEventStore = eventStore.sources
var source = sourcesInEventStore.filter{
(source: EKSource) -> Bool in
source.sourceType.rawValue == EKSourceType.subscribed.rawValue
}.first
if let eventSource = source {
newCalendar.source = eventSource
do {
try eventStore.saveCalendar(newCalendar, commit: true)
UserDefaults.standard.set(newCalendar.calendarIdentifier, forKey: self.calendarKey)
UserDefaults.standard.synchronize()
} catch {
print((error as NSError).localizedDescription)
}
}
}
func saveEvents(events: [EKEvent]) {
let calendar = createCalendar()
if calendar.source != nil {
for event in events {
do {
event.calendar = calendar
try eventStore.save(event, span: .thisEvent)
} catch let error as NSError {
print("\(error.localizedDescription)")
}
}
}
}
Календарь и события создаются просто отлично, проблема в том, когда устройство перезагружается и переходит в приложение календаря и видит список календарей, которые он покажет один раз и исчезнет навсегда.
Примечание. Также реализован запрос доступа к календарному потоку.
Возможность воспроизведения проблем на устройствах iPhone 5S, 6, 8 под управлением iOS 11.x
заранее спасибо