2013-08-06 18 views
8

Używam PushBot jako usługi powiadomień Push, moim problemem jest jak zresetować liczbę znaczków. Mam szukać i czytać, aby korzystać z tej linii kodu:Licznik resetowania powiadomień Push push

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 

Jedynym sposobem Ilość odznaka dostaje reset jest gdybym zamknąć aplikację z systemem na pasku zadań i mulit ponownie uruchomić aplikację, za każdą pomoc jest bardzo doceniane. Dzięki,

+0

Kiedy chcesz wyczyścić liczyć odznaka? –

+0

Chcę wyczyścić licznik odznak, gdy aplikacja zostanie uruchomiona ponownie. – Automator21

Odpowiedz

17

Wystarczy złożyć przycisk na interfejsie użytkownika oraz jego działania umieścić linię kodu:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 

Będzie je zresetować.

Spójrz na Here dla kilku innych implementacji.

14

Aby skasować licznik odznakę gdy aplikacja staje się aktywny, wystarczy podać swój wiersz kodu:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 

w metodzie applicationDidBecomeActive delegować pliku, AppDelegate.m.

applicationDidFinishLaunchingWithOptions jest wywoływana tylko przy pierwszym uruchomieniu i nie jest wywoływana ponownie, gdy aplikacja przechodzi do tła i powraca na pierwszy plan.

+0

Wygląda na to, że działa, ale następnym razem, gdy otrzymam powiadomienie, liczba nie wynosi 1. Jest to liczba, która została usunięta + 1 (łączna liczba powiadomień od momentu zainstalowania aplikacji). Jakieś pomysły? –

+0

Dostaję także "licznik, który został usunięty" + 1. Jakąkolwiek pomoc? Umieściłem ten kod w 'applicationDidBecomeActive' i' applicationDidFinishLaunchingWithOptions' – Terence

+1

Czy mówisz o numerze identyfikatora w zdalnym powiadomieniu? To zależy od Ciebie, aby ustawić na serwerze, gdy wysyłasz zdalne powiadomienie. –

0

Dla Swift 3.0

//AppleDelgate.swift 
func applicationDidBecomeActive(_ application: UIApplication) { 
     //.... 
     application.applicationIconBadgeNumber = 0 
     //.... 
}