Здравствуйте! Я хочу добавить действие кнопки к своему UNMutableNotification
, но я не понимаю, почему оно не работает, но я передал ему catergoryIdentifier
.
Когда я вызываю из моего контроллера функциюcreateToDate()
уведомление работает, но если я вызываю функцию withAction()
, уведомление не работает.
Date().adding(second: 10)
- это пользовательское расширение
Мой код:
class LocalNotification: NSObject {
class func createToDate(identifier: String,
title: String,
subtitle: String = "",
body: String,
to date: Date,
sound: UNNotificationSound = .default,
repeatNotification: Bool = false,
completion: @escaping (_ error: Error?) -> ()) {
let content = UNMutableNotificationContent()
content.title = title
content.subtitle = subtitle
content.body = body
content.sound = sound
content.categoryIdentifier = "fittoCateroy"
let dateComponent = Calendar.current.dateComponents([.day, .hour, .minute], from: date)
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponent, repeats: repeatNotification)
let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) { (error) in
completion(error)
}
}
class func withAction() {
let snoozeAction = UNNotificationAction(identifier: "snooze", title: "Snooze", options: [])
let category = UNNotificationCategory(identifier: "fittoCateroy", actions: [snoozeAction], intentIdentifiers: [], options: [])
UNUserNotificationCenter.current().setNotificationCategories([category])
createToDate(identifier: "M",
title: "My title", subtitle: "Sub", body: "Body",
to:Date().adding(seconds: 10), sound: .default, repeatNotification: false) { error in
if let error = error {
print("ERRRRROR \(error.localizedDescription)")
}
}
}
}