В своем коде для отображения уведомления о предстоящем событии для пользователя я пытался использовать:
let time: Date = // some time in near future
let cal = Calendar.current
let comps = cal.dateComponents(in: TimeZone.current, from: time)
let trigger = UNCalendarNotificationTrigger(dateMatching: comps, repeats: false)
//...
// continue setup
//...
, но уведомление никогда не запускалось.
Когда я его изменил до:
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: time.timeIntervalSinceNow, repeats: false)
Все происходит как запланировано. Мой
UNUserNotificationCenter.current().add(request) { (error) in ...}
всегда успешен, а error
всегда nil
. Почему первый триггер не сработает? ..