2009-11-26 17 views

risposta

90

objc:

[UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

rapida:

UIApplication.sharedApplication().applicationIconBadgeNumber = 0; 
+2

Se si utilizza un'API come Parse.com (ero), è probabile che si debba aggiornare anche il database remoto a "0". Altrimenti, impostandolo localmente si nasconde il badge, ma alla prossima pressione il badge non mostrerà 0 ma mostrerà invece il vecchio valore +1. Come questo ragazzi hanno visto http://stackoverflow.com/questions/13757285/clear-push-notification-badge-after-increment – DelightedD0D

7

Quanto a iOS5, semplicemente impostando il numero di tesserino di riconoscimento non rimuovere quelli notifica push nel centro di notifica. Devi fare questo ...

[[UIApplication sharedApplication] cancelAllLocalNotifications]; 
[UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

Ho già provato questo. Sembra che il metodo cancelAllLocalNotifications funzioni anche con le notifiche push nel centro notifiche.

+0

Attenzione con: cancelAllLocalNotifications. La domanda era rimuovere i badge dalle notifiche PUSH, ma questo rimuoverà tutte le notifiche locali (è stata programmata un'applicazione). – Lukasz

+0

Sì, ne sono consapevole. Tuttavia, secondo http://stackoverflow.com/questions/9925854/remove-single-remote-notification-from-notification-center, non è possibile rimuovere selettivamente una determinata notifica. Puoi solo rimuovere tutto. Dovresti commentare anche la risposta di Felixyz perché l'uso di 'applicationIconBadgeNumber = 0' rimuove anche tutte le notifiche push + ALL, giusto? – Hlung

9

È possibile rimuovere distintivo da notifiche push aggiungendo le seguenti righe al codice

(void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0; 
} 
1

Swift 3

UIApplication.shared.applicationIconBadgeNumber = 0 

possono essere aggiunti alla seguenti metodi:

optional public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool 

e

optional public func applicationDidBecomeActive(_ application: UIApplication) 
Problemi correlati