web-dev-qa-db-fra.com

Comment effacer le nombre de badges de notification Push dans iOS?

Je veux effacer le nombre de badges de notification Push une fois l'application lancée.Je ne sais pas où définir le code ci-dessous.Veuillez décrire brièvement comment effacer le nombre de badges.

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
33
Deepak

Vous devez définir ceci:

[UIApplication sharedApplication] .applicationIconBadgeNumber = 0;

dans l'une ou l'autre de ces méthodes AppDelegate si l'application est lancée et envoyée en arrière-plan, vous lancez l'application. La méthode didFinishLaunchingWithOptions ne sera pas appelée, utilisez l'une des méthodes suivantes:

- (void)applicationWillEnterForeground:(UIApplication *)application

- (void)applicationDidBecomeActive:(UIApplication *)application

Pour Swift 3+

- func applicationWillEnterForeground(_ application: UIApplication)
- func applicationDidBecomeActive(_ application: UIApplication)
72
Sumanth

dans Swift 3 +

dans votre AppDelegate.Swift, lorsque votre application active efface tout comme ci-dessous.

func applicationDidBecomeActive(_ application: UIApplication) {
        UIApplication.shared.applicationIconBadgeNumber = 0
    }
10
Chanaka Caldera

Eh bien, la meilleure façon de le faire est de créer une fonction qui soustrait le numéro de badge puis de créer un bouton UIB pour permettre à l'utilisateur d'effacer le badge. Dans l'application de messagerie par défaut, si vous lisez un e-mail, le badge en soustrait un de l'icône. Vous ne devez jamais le mettre à 0 au lancement ou à la reprise, cela n'a aucun sens et donne à l'application un aspect merdique. Le soustraire lorsque l'utilisateur interagit avec cet événement est la meilleure façon de le faire. Rendez votre application plus professionnelle, si vous la réinitialisez simplement au lancement de l'application et qui sait ce que signifient les bedges, elle pourrait tout aussi bien ne pas l'utiliser.

3
Kevin

Vous pouvez définir ce code n'importe où dans le code .. Peu importe. Mais généralement, est conservé dans UIApplicationDidFinishLaunching ..

1
Akshay Shah
    UIApplication.shared.applicationIconBadgeNumber = 1
    UIApplication.shared.applicationIconBadgeNumber = 0
0
Tejash Joshi