Domanda

FISSO - Ok, trovò quello che era, si è verificato un [[UIApplication sharedApplication] cancelAllLocalNotifications]; errant essere licenziato quando io non me l'aspettavo

.

Il pozzo là è il tuo problema.

Grazie per l'aiuto a tutti, mi dispiace di averlo rivelarsi essere solo la sindrome coder muto.

Ho costruito la mia notifica locale in questo modo:

- (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];
    }
}

Come previsto in uscita il mio registro di debug corretti fireDate 10 secondi in futuro. Se non lascio la mia app ho un callback application:didReceiveLocalNotification: successo.

L'incidente di percorso qui è se premo il pulsante per programmare questa notifica e premere il tasto home per metterlo in background. Se faccio questo, la notifica mai incendi e non ho mai ottenere una vista avviso dal sistema operativo.

Mi sono perso qualcosa di ovvio qui? Ho guardato su e giù qui e la documentazione Apple e sento che ho perso qualcosa di ovvio.

Qualsiasi aiuto sarebbe molto apprezzato. Grazie.

È stato utile?

Soluzione 3

Ok, trovò quello che era, si è verificato un errante [[UIApplication sharedApplication] cancelAllLocalNotifications]; essere inviato quando si entra lo sfondo.

Altri suggerimenti

Si veda l'esempio nella documentazione di Apple: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW1

E 'possibile che non impostazione del fuso orario a [NSTimeZone defaultTimeZone] è la causa del problema? GMT viene presunta se fuso orario non è impostato (nil default).

Hai provato avvolgendo il codice in un processo in background?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top