Вы можете сделать это с помощью протокола UNUserNotificationCenter и UNNotificationContentExtension
Добавить действие с помощью UNUserNotificationCenter
let center = UNUserNotificationCenter.current()
center.delegate = self
center.requestAuthorization (options: [.alert, .sound]) {(_, _) in
}
let clearAction = UNNotificationAction(identifier: "sadEmoji", title: "Emoji", options: [])
let category = UNNotificationCategory(identifier: "NotifCategory", actions: [clearAction], intentIdentifiers: [], options: [])
center.setNotificationCategories([category])
Добавить метод делегата протокола UNNotificationContentExtension в контроллер представления вашего расширения
func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) {
if response.actionIdentifier == "sadEmoji" {
UNUserNotificationCenter.current().removeDeliveredNotifications(withIdentifiers: "NotifCategory")
}
completion(.dismiss)
}
Попробуйте и дайте мне знать, что это работает.