2013-05-27 28 views
5

Moja aplikacja, którą tworzę, to aplikacja typu alarmu. Kiedy użytkownik naciśnie przycisk strony głównej, planuję kilka UILocalNotifications, aby strzelały w określonych odstępach czasu. Powiadomienia są uruchamiane we właściwym momencie, gdy naciskam przycisk strony głównej i wychodzę z aplikacji, ale nie uruchamiają się wcale, jeśli naciśniesz przycisk Zablokuj. Szukałem, ale nie odkryłem, dlaczego tak jest.UILocalNotification nie jest uruchamiany, gdy urządzenie jest zablokowane

Jak już powiedziałem, działa dobrze, gdy najpierw wciskam przycisk home. Strzelają we właściwych momentach, ale jeśli nacisnę przycisk "Zablokuj" u góry telefonu, nie wystrzelą po tym. Ktoś ma jakieś pomysły, dlaczego tak jest?

Dzięki

+0

Czy sprawdziłeś, czy aplikacja może wyświetlać powiadomienia na ekranie blokady? Sprawdź ustawienia. –

+0

Po prostu sprawdziłem na moim telefonie, jest to dozwolone, ale nadal nie zostanie uruchomione po zablokowaniu. Po prostu wypróbowany na symulatorze, ale nie ma żadnych ustawień powiadomień i nadal się tam nie uruchamia. – ColaCube

+0

Z jaką wersją systemu operacyjnego i urządzeniami testujesz? – J2theC

Odpowiedz

0

To dlatego, że przycisk blokady nie wyjść z aplikacji.

Zakładam, że konfigurujesz UILocalNotifications w applicationWillTerminate: w delegacie aplikacji. Jeśli dodasz logowanie w tej metodzie, zobaczysz, że nie jest ono wywoływane, gdy używasz przycisku blokady.

Konfigurowanie powiadomień pod numerem applicationWillResignActive: może rozwiązać problem.

1

Wiem, że to bardzo późno, ale może pomóc komuś. Ten problem został tak przeoczony na SO i nie ma samouczka w Internecie. W każdym razie, kiedy ustawisz UIUserNotificationSettings, musisz ustawić UIUserNotificationActivationModeBackground i powinieneś być gotowy.

Kod:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
// Override point for customization after application launch. 
    if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) { 
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound | UIUserNotificationActivationModeBackground categories:nil]; 
    [application registerUserNotificationSettings:settings]; 
    } 
    return YES; 
} 

Nadzieja to pomaga.

+0

OP specjalnie ustawić IOS6 –

+0

Dlatego powiedziałem, że może pomóc komuś w przyszłości, i jest to oczywiste, ponieważ odpowiadam na pytanie po 3 latach, nie jest on przeznaczony dla OP. –

+0

Zbyt mi to nie było i gdy jest to dobra rada Dlaczego ... –

Powiązane problemy