删除应用程序时如何清除所有计划的本地通知

How to clear all scheduled local notifications when deleting the app

我正在开发一个 iPhone 应用程序,用户可以在其中安排本地通知作为提醒。

applicationDidBecomeActive 方法中,我正在检查每个预定通知的过期日期并取消过期的通知。

现在我的问题是,如果我从 phone 中删除应用程序并重新安装,所有计划的通知(尚未过期)仍然存在。

但是,如果用户删除 phone 的应用程序,我的要求是取消所有计划的本地通知。

我该如何使用

[[UIApplication sharedApplication] cancelAllLocalNotifications]

如果您删除应用程序,NSUserDefaults 也会被删除 - 因此您可以为 NSUserDefault 设置一些值,并在应用程序启动时检查它。

如果该值为 nil,则表明这是全新安装或该应用已被删除。然后你可以调用取消本地通知。

取消现有通知后(如果是全新安装,反正不会有任何通知,因为不会有通知),您可以重新设置NSUserDefault,这样下次取消操作就不会被调用。