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

时间:2015-02-03 16:53:44

标签: ios iphone uilocalnotification

我正在使用以下代码安排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之前,notofication会触发。简而言之,它并不存在。此外,即使应用程序再次运行,它也不会再次触发。应用程序是否位于前台并不重要。一旦终止,通知就会停止,如果我列出本地通知,它就不再存在了。似乎没有存储UILocalNotification。如果应用程序位于前台,后台或根本不运行,则不会发送通知。

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

注意:如果我安排新通知,也会删除上一个通知。这很奇怪。

1 个答案:

答案 0 :(得分:1)

这是正常行为。 "终止"用户的应用程序将积极清除系统为应用程序管理的任何进程。 (编辑:对于许多后台进程都是如此,但可能不适用于本地通知。)通过Xcode重新加载新应用程序肯定会。

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