Swift - Supprimer le numéro de badge de notification push?

86

J'essaie de supprimer le badge d'icône dans Swift, mais PFInstallation ne semble plus fonctionner. Comment puis-je faire cela?

ByteDuck
la source

Réponses:

236

Vous pouvez "supprimer" l'icône du badge d'application en la définissant sur 0:

Swift <3,0

UIApplication.sharedApplication().applicationIconBadgeNumber = 0

Swift 3.0+

UIApplication.shared.applicationIconBadgeNumber = 0

Cette question montre quand vous pouvez l'utiliser: Comment effacer le nombre de badges de notification push dans iOS?

Oxcug
la source
4
Est-il donc courant de le réinitialiser à 0 chaque fois que l'application démarre?
Qian Chen
4
@ElgsQianChen dépend vraiment de ce que votre application est censée faire / de ce qui est le mieux pour votre public. Cette question est probablement mieux servie dans l'UX SO.
Oxcug
1
Deuxièmement. Peut-être voulez-vous vous assurer que l'utilisateur a réellement traité la cause de la notification (par exemple, a lu un message non lu) avant de l'effacer. Différentes applications traitent cela différemment. Certains sont clairs au lancement, certains clairs sur l'action de l'utilisateur dans l'application.
Nicolas Miari
4
UIApplication.shared.applicationIconBadgeNumber = 0avec Swift 3
user3766930
Je pense que cela a du sens ie. lorsque l'utilisateur se déconnecte de l'application.
wrtsprt
17

Swift 4.2

Au AppDelegate, mettez simplement ce code:

    func applicationDidBecomeActive(_ application: UIApplication) {
        application.applicationIconBadgeNumber = 0
    }
Tiago Oliveira
la source
9

Swift 5

À l'AppDelegate didFinishLaunchingWithOptions

UIApplication.shared.applicationIconBadgeNumber = 0
Mohhamed Nabil
la source