2012-01-18 11 views
5

Mam trudności z ustawieniem znaczka ikony z powiadomieniem lokalnym harmonogramu dla mojej aplikacji ios.Jak ustawić applicationIconBadgeNumber z scheduleLocalNotification?

Jestem w stanie wyzwolić powiadomienie lokalne pojawiające się po 10 sekundach po kliknięciu ekranu głównego po załadowaniu aplikacji. Jednak numer identyfikacyjny ikony aplikacji nie jest ustawiany. Korzystam z następującego kodu.

UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
if (localNotif == nil) return; 
NSDate *fireTime = [[NSDate date] addTimeInterval:10]; // adds 10 secs 
localNotif.fireDate = fireTime; 
localNotif.alertBody = @"New Message!"; 
localNotif.applicationIconBadgeNumber = 1; 
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 

Nie rozumiem dlaczego lokalna powiadomienie wyskakuje ale applicationIconBadgeNumber nie zostanie ustawiony. Jestem w stanie ręcznie ustawić numer identyfikacyjny ikony, wykonując poniższy kod.

[UIApplication sharedApplication].applicationIconBadgeNumber = 1; 

Odpowiedz

3

Czy debugujesz w symulatorze? Ten sam problem na symulatorze, ale twój kod działa poprawnie na moim iPhonie.

+1

Dzięki, Właśnie zainstalowałem iOS 4.3 i przetestowane. Działa na tym. Musiał to być błąd na symulatorze iphone 5. – user1157352

3

Czy rejestrujesz swoją aplikację dla wszystkich typów powiadomień?

[[UIApplication sharedApplication]registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge]; 

Sprawdź także, czy ustawienia powiadomień nie wyłączyły identyfikatorów.

+3

pytanie dotyczy powiadomień lokalnych – Andreas

2

Oto kod dla iOS 8+ w Swift ...

let notificationSettings = UIUserNotificationSettings(forTypes: [UIUserNotificationType.Alert , UIUserNotificationType.Badge, UIUserNotificationType.Sound], categories: nil) 
application.registerUserNotificationSettings(notificationSettings) 
Powiązane problemy