2015-05-14 11 views
10

Ho un server che mi invia notifiche push e diciamo che ho 5 notifiche sul mio telefono. Se apro uno di essi, tutte le altre notifiche scompaiono. Voglio che solo quello cliccato scompaia.Tutte le notifiche scompaiono dopo aver aperto uno di loro

Questo è come gestire le notifiche di ricezione:

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) { 

    if (application.applicationState == UIApplicationState.Inactive || application.applicationState == UIApplicationState.Background ) 
    { 
     // navigating user to a view controller 
    } 
    application.applicationIconBadgeNumber = 0 
} 
+0

Non esiste alcun modo per rimuovere una notifica specifica a partire da iOS SDK 5.0. Quando tocchi la notifica della tua app in modo che non vengano visualizzati nel Centro di notifica. –

+0

A causa di application.applicationIconBadgeNumber = 0, rimuovere quel codice. Inoltre non è sicuro che solo quello su cui si è fatto clic per scomparire. – Mukesh

+1

@muku by application.applicationIconBadgeNumber = 0 modifica solo il numero di badge dell'applicazione non notificata. –

risposta

13

Impostando il applicationIconBadgeNumber-0, si rimuove anche tutte le notifiche dal centro di notifica.

Questo è stato anche discusso qui: iOS application: how to clear notifications?

Inoltre, non è possibile rimuovere programmazione una singola notifica, ma da iOS 8 in poi, il sistema operativo di gestire questo per voi quando un utente tocca una singola notifica. Anche questo argomento è stato discusso qui: Remove single remote notification from Notification Center

+0

puoi impostare il numero di badge in modo ecografico senza rimuovendo qualsiasi notifica. –

+1

@almis si può andare per questa soluzione [http://stackoverflow.com/a/28152751/4472625] –

Problemi correlati