Question

Autorisés - Ok, a trouvé ce qu'il était, il y avait un être [[UIApplication sharedApplication] cancelAllLocalNotifications]; de errante a tiré quand je ne m'y attendais pas

.

Eh bien, il est votre problème.

Merci pour l'aide tout le monde, désolé d'avoir tourner être juste le syndrome du codeur muet.

Je l'ai construit ma notification locale comme ceci:

- (void)scheduleNotification {
    [[UIApplication sharedApplication] cancelAllLocalNotifications];
    Class cls = NSClassFromString(@"UILocalNotification");
    if (cls != nil) {
        UILocalNotification *notif = [[cls alloc] init];
        NSLog(@"%@", [NSDate date]);
        notif.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];

        notif.alertBody = NSLocalizedString(@"Hello.", nil);

        [[UIApplication sharedApplication] scheduleLocalNotification:notif];
        NSLog(@"Notification scheduled at %@", notif.fireDate);
        [notif release];
    }
}

Comme prévu mon journal de débogage envoie les bonnes fireDate 10 secondes à l'avenir. Si je ne quitte pas mon application, je reçois un rappel de application:didReceiveLocalNotification: réussie.

Le hoquet est ici si j'appuie sur le bouton pour programmer cette notification et appuyez sur le bouton d'accueil pour le mettre en arrière-plan. Si je fais cela, la notification jamais incendies et je jamais une vue d'alerte de l'OS.

Ai-je raté quelque chose ici évident? Je l'ai regardé et ici et la documentation d'Apple et l'impression que j'ai raté quelque chose d'évident.

Toute aide serait grandement appréciée. Merci.

Était-ce utile?

La solution 3

Ok, a trouvé ce qu'il était, il y avait un errante [[UIApplication sharedApplication] cancelAllLocalNotifications]; étant envoyé à l'entrée du fond.

Autres conseils

Voir l'exemple dans les documents d'Apple: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW1

pourrait-il pas que la mise en timeZone à [NSTimeZone Defaulttimezone] est à l'origine du problème? GMT est supposée si timeZone est pas définie (par défaut nul).

Avez-vous essayé envelopper le code dans une tâche de fond?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top