2011-11-01 10 views
5

Po skonfigurowaniu wszystkiego w centrum powiadomień, które pozwala aplikacji na wyświetlanie powiadomienia, powiadomienie lokalne mojej aplikacji nie uruchamia się.Powiadomienie lokalne nie działa na iOS5

Czy napotkasz ten sam problem?

więcej informacji:

  1. Ta sama aplikacja skompilowany z tego samego kodu źródłowego kilka dni temu, który skompilowany z Xcode 4.1 i iOS 4.3 SDK, wszystko działa dobrze.

  2. Ponadto aplikacja skompilowana ze starszą wersją XCode i iOS SDK, może pracować na iOS5 po aktualizacji.

Jednak aplikacja, która została skompilowana z tym samym kodem, ale z pakietem SDK XCode 4.2 i iOS5, nie działa.

Czy masz jakieś pomysły? Czy są jakieś specjalne prace na iOS5?

Przykładowy kod jest podobny:

UIApplication *app = [UIApplication sharedApplication]; 
NSArray *oldNotifications = [app scheduledLocalNotifications]; 

// Clear out the old notification before scheduling a new one. 
if (0 < [oldNotifications count]) { 

    [app cancelAllLocalNotifications]; 
} 

// Create a new notification 
UILocalNotification *alarm = [[UILocalNotification alloc] init]; 
if (alarm) { 

    alarm.fireDate = theDate; 
    alarm.timeZone = [NSTimeZone defaultTimeZone]; 
    alarm.repeatInterval = NSDayCalendarUnit; //repeat every day 
    alarm.alertBody = [NSString stringWithFormat:@"alert"];  
    [app scheduleLocalNotification:alarm]; 
    [alarm release]; 
} 

Dzięki Michael

Odpowiedz

11

W iOS 5, powiadomienia są zarządzane przez centrum powiadomień. Musisz zarejestrować swoją aplikację w Centrum powiadomień (programowo) lub (nie programowo) przejdź do Settings > Notifications i wybierz odpowiednie ustawienia, tj. Włącz Centrum powiadomień, wybierz Styl alertu i inne.

Można użyć poniższy kawałek kodu, aby zarejestrować swoją aplikację z centrum powiadomień (programowo), poprzez umieszczenie go w applicationDidFinishLaunching::

// Although Register For Remote Notifications is not required for Local Notifications, 
// but in iOS 5's Notifications, we have to register otherwise the system doesn't register/recognize 
// the notifications posted from the application. Note that this behavior is not documented 
// as of Oct 2011, and it's possible that it's a bug and will be handled in the future releases. 

[[UIApplication sharedApplication] registerForRemoteNotificationTypes: 
UIRemoteNotificationTypeAlert | 
UIRemoteNotificationTypeSound]; 

HTH.

+0

Czy musimy również skonfigurować identyfikator aplikacji i certyfikat SSL, aby włączyć usługę APN? – user370773

+0

Dzięki za odpowiedź. Również UILocalNotificationDefaultSoundName mają pewien problem w iOS 5.0. –