Ранее в моем приложении работали локальные уведомления, которые показывают только название. Теперь я хотел бы иметь подзаголовок и тело для каждого уведомления. Я добавил subtitle
и body
для моего UNMutableNotificationContent
. Но когда уведомление представляет себя, субтитров или тела не существует. Как это исправить?
Вот как я могу добавить локальное уведомление:
let content = UNMutableNotificationContent()
content.title = "title works!"
content.subtitle = "testing subTitle"
content.body = "testing body"
content.sound = .default
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: false)
let identifier = "notificationId"
let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) { (error) in
if let error = error {
print("Hey listen! Error adding notification: \(error.localizedDescription)")
} else {
print("saved notification")
}
}
Вот как я запрашиваю разрешения на уведомления:
private func requestNotificationAuthorization() {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { (granted, error) in
if let error = error {
print("Hey listen! Got an error requesting notification authorization: \(error.localizedDescription)")
} else {
if granted {
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
} else {
print("not granted")
}
}
}
}
Вот мой willPresent
код:
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
completionHandler([.alert, .badge, .sound])
}