В следующей версии моего приложения я хочу интегрировать возможность того, что пользователь может включать еженедельные отчеты, такие как функция экранного времени от Apple.
Я знаю, как настроить локальные уведомления (код уже работает для других типов уведомлений, таких как напоминания о событиях), но для этой идеи мне нужно обновить текст уведомления незадолго до запуска, потому что я не знаю точное содержание уведомления, когда добавляю его в NotificationCenter.
Есть ли функция, которая вызывается незадолго до запуска или как мне это сделать?
Это мой рабочий код для планирования уведомлений:
fileprivate func generateNotification(title: String, body: String, triggerDate: DateComponents) -> String{
//Trigger
let trigger = UNCalendarNotificationTrigger(dateMatching: triggerDate, repeats: false)
//Content
let content = UNMutableNotificationContent()
content.title = title
content.body = body
content.sound = UNNotificationSound.default
//Request
let identifier = UUID().uuidString
let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
let notificationCenter = UNUserNotificationCenter.current()
notificationCenter.add(request) { (error) in
if let error = error {
print("Error \(error.localizedDescription)")
}
}
return identifier
}