Как удалить удаленное уведомление в вашем приложении?

Есть ли способ очистить удаленное уведомление от баннера уведомлений при прокрутке вниз с экрана iPhone. Я попытался установить нужный номер значка:

application.applicationIconBadgeNumber = 0 

в делегате didFinishLaunchingWithOptions и didReceiveRemoteNotification, но он не очистил уведомления. Спасибо.

Ответ 1

Вам нужно установить IconBadgeNumber в 0 и отменить текущие уведомления. Я никогда не делал это быстро, но я думаю, что код для него был бы ниже:

application.applicationIconBadgeNumber = 0 
application.cancelAllLocalNotifications()

Ответ 2

В iOS 10, прежде всего, решения обесцениваются

'cancelAllLocalNotifications()' устарел в iOS 10.0: используйте Framework UserNotifications - [UNUserNotificationCenter removeAllPendingNotificationRequests]

Используйте приведенный ниже код для отмены уведомления и reset Количество значков

Для iOS 10 Swift 3.0

cancelAllLocalNotifications устарел от iOS 10.

@available(iOS, introduced: 4.0, deprecated: 10.0, message: "Use UserNotifications Framework -[UNUserNotificationCenter removeAllPendingNotificationRequests]")
open func cancelAllLocalNotifications()

Вам нужно будет добавить этот оператор импорта,

import UserNotifications

Получить центр уведомлений. И выполните операцию, как показано ниже

application.applicationIconBadgeNumber = 0 // For Clear Badge Counts
let center = UNUserNotificationCenter.current()
center.removeAllDeliveredNotifications() // To remove all delivered notifications
center.removeAllPendingNotificationRequests() // To remove all pending notifications which are not delivered yet but scheduled.

Если вы хотите удалить одно или несколько конкретных уведомлений, вы можете достичь этого ниже.

center.removeDeliveredNotifications(withIdentifiers: ["your notification identifier"])

Надеюсь, это поможет..!!

Ответ 3

Мне нужно увеличивать, а затем уменьшать количество значков, чтобы он работал:

application.applicationIconBadgeNumber = 1
application.applicationIconBadgeNumber = 0
application.cancelAllLocalNotifications()

Ответ 4

Swift 3

В вашем AppDelegate.swift файле под didFinishLaunchingWithOptions добавьте:

application.applicationIconBadgeNumber = 0

При запуске приложения это удалит значок iOS (красный круг в правом верхнем углу значка приложения).

Ответ 5

любой ищет код swift 4 и выше

application.applicationIconBadgeNumber = 0
UNUserNotificationCenter.current().removeAllDeliveredNotifications()