重新启动应用程序或关闭应用程序后,预定的 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的正常流程是先进入后台状态,然后在后台被系统终止。系统管理的任务将继续,必要时将重新唤醒应用程序。
我正在使用以下代码安排 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的正常流程是先进入后台状态,然后在后台被系统终止。系统管理的任务将继续,必要时将重新唤醒应用程序。