В более ранний вопрос Я упомянул проблему планирования локальных уведомлений. Настоящей причиной проблемы было то, что я использовал следующий код для создания триггера, который не работает:
let calendar = ...
let notificationDate = ...
let dateComponents = calendar.dateComponents(in: calendar.timeZone, from: notificationDate)
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: false)
Однако следующий код работает:
let calendar = ...
let notificationDate = ...
let dateComponents = calendar.dateComponents([.day, .month, .year, .hour, .minute], from: notificationDate)
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: false)
Итак, вопрос: что здесь происходит? Почему последний работает, а первый нет?