重新启动应用程序或关闭应用程序后,预定的 UILocalNotification 不会触发

Scheduled UILocalNotification does not fire after when restarting app or closing app

我正在使用以下代码安排 UILocalNotification:

        UILocalNotification *notification = [[UILocalNotification alloc] init];
        notification.fireDate = [[NSDate date] dateByAddingTimeInterval:60];
        notification.repeatInterval = NSMinuteCalendarUnit;
        notification.alertBody = [NSString stringWithFormat:@"Wurmprophylaxe für Lassy”];
        notification.alertAction = @"Wurmprophylaxe";
        //notification.userInfo = userInfo;
        notification.timeZone = [NSTimeZone localTimeZone];
        notification.soundName = UILocalNotificationDefaultSoundName;
        [[UIApplication sharedApplication] scheduleLocalNotification:notification];

通知会触发,直到我终止应用程序、重新启动应用程序或重新 运行 到 xcode。简单地说,它不会持续存在。而且它不会再次触发,即使应用程序再次 运行ning 也是如此。应用程序是否在前台并不重要。一旦终止,通知就会停止,如果我列出本地通知,它将不再存在。似乎没有存储 UILocalNotification。如果应用程序处于前台、后台或 运行ning 中,则不会发送通知。

为什么在应用程序启动之间删除它?

注意:如果我安排了新的通知,那么之前的通知也会被删除。这太奇怪了。

这是正常现象。 "Terminating" 用户的应用程序将积极清除系统为该应用程序管理的所有进程。 (编辑:这对于许多后台进程都是正确的,但可能不适用于本地通知。)通过 Xcode 重新加载新应用肯定会。

app的正常流程是先进入后台状态,然后在后台被系统终止。系统管理的任务将继续,必要时将重新唤醒应用程序。