【问题标题】:How to clear all scheduled local notifications when deleting the app删除应用程序时如何清除所有预定的本地通知
【发布时间】:2015-05-10 13:02:37
【问题描述】:

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

applicationDidBecomeActive 方法中,我正在检查每个计划通知的到期日期并取消已到期的通知。

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

但是,如果用户删除手机的应用程序,我的要求是取消所有预定的本地通知。

我该怎么做

[[UIApplication sharedApplication] cancelAllLocalNotifications]

【问题讨论】:

  • 你不能 - 如果用户删除了应用程序并且没有重新安装它,那么 iOS 会为你清理通知。
  • 您将无法在应用程序之外存储任何信息,当应用程序被删除时,所有相关内容也会被删除。
  • @user623396 如果没有过期,当你删除应用重新安装时,本地通知仍然存在
  • 查看post 了解如何使用cancelAllLocalNotifications

标签: ios objective-c iphone uilocalnotification nsnotifications


【解决方案1】:

如果您删除应用程序,NSUserDefaults 将被删除 - 因此您可以设置一个具有某个值的 NSUserDefaults,并在应用程序启动时检查它。

如果该值为 nil,则您知道它是全新安装或应用已被删除。然后你可以打电话取消本地通知。

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

【讨论】:

  • 是的。我使用 plists 实现了类似的解决方案
猜你喜欢
  • 2012-03-05
  • 1970-01-01
  • 2011-07-19
  • 1970-01-01
  • 2012-01-30
  • 2021-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多