删除代码后触发的本地通知

Local notification fired after deleting code

UILocalNotifiation 我遇到了一个奇怪的问题。我每晚都在 11:59 安排本地通知。现在,我已经从我的项目中删除了该代码,但我仍然每晚在 11:59 收到该本地通知。我已尝试从设备中删除构建、更改设备和清理派生数据。

这实际上是标准的 iOS 行为,因为您将通知安排在 iOS(实际操作系统)上。这意味着,一旦您安排了 UILocalNotification,它将驻留在操作系统中,直到它被触发或被手动取消。

因此,对于您的情况,听起来您最初安排了一些通知,这些现在都在操作系统中等待触发。它们不会在您更改代码或删除应用程序时消失,它们只会在您删除它们或被解雇时消失。

为了确保您不会收到过去安排的任何通知,您可以使用以下方法删除它们:

[[UIApplication sharedApplication] cancelAllLocalNotifications];

您还可以获取您的应用当前安排的所有通知并单独取消它们:

NSArray *activeNotifications = [[UIApplication sharedApplication] scheduledLocalNotifications];
for (UILocalNotification *notification in activeNotifications) {
   [[UIApplication sharedApplication] cancelNotification:notification];
}