Existe-t-il un moyen d'effacer la notification à distance de la bannière de notification lorsque vous faites glisser votre doigt depuis le haut de l'écran de l'iPhone. J'ai essayé de régler le numéro de badge à zéro:
application.applicationIconBadgeNumber = 0
dans délégué didFinishLaunchingWithOptions
et didReceiveRemoteNotification
, mais les notifications n'ont pas été effacées. Merci.
Vous devez définir le IconBadgeNumber sur 0 et annuler les notifications en cours. Je ne l'ai jamais fait à Swift, mais je pense que le code correspondant serait le suivant:
application.applicationIconBadgeNumber = 0
application.cancelAllLocalNotifications()
Dans iOS 10, les solutions sont avant tout amorties
'cancelAllLocalNotifications ()' est obsolète dans iOS 10.0: utilisez le cadre UserNotifications Framework - [UNUserNotificationCenter removeAllPendingNotificationRequests]
Utilisez le code ci-dessous pour annuler la notification et réinitialiser le nombre de badges
Pour iOS 10, Swift 3.0
cancelAllLocalNotifications
déconseillé d'iOS 10.
@available(iOS, introduced: 4.0, deprecated: 10.0, message: "Use UserNotifications Framework's -[UNUserNotificationCenter removeAllPendingNotificationRequests]") open func cancelAllLocalNotifications()
Vous devrez ajouter cette déclaration d'importation,
import UserNotifications
Obtenir un centre de notification. Et effectuez l'opération comme ci-dessous
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.
Si vous souhaitez supprimer une ou plusieurs notifications spécifiques, vous pouvez y parvenir par la méthode ci-dessous.
center.removeDeliveredNotifications(withIdentifiers: ["your notification identifier"])
J'espère que ça aide..!!
Je dois incrémenter puis décrémenter le nombre de badges pour que cela fonctionne:
application.applicationIconBadgeNumber = 1
application.applicationIconBadgeNumber = 0
application.cancelAllLocalNotifications()
Swift 3
Dans votre fichier AppDelegate.Swift
sous didFinishLaunchingWithOptions
, ajoutez:
application.applicationIconBadgeNumber = 0
Lors du lancement de votre application, cela supprimera le badge iOS (cercle rouge en haut à droite de l'icône de l'application).