UILocalNotifications 在卸载/更新后是不是仍然存在?

Posted

技术标签:

【中文标题】UILocalNotifications 在卸载/更新后是不是仍然存在?【英文标题】:Do UILocalNotifications persist after uninstall/update?UILocalNotifications 在卸载/更新后是否仍然存在? 【发布时间】:2015-06-24 13:19:51 【问题描述】:

似乎我们的应用程序安排的 UILocalNotifications 会被触发,即使应用程序被生产应用程序覆盖(好的,预期的行为),但如果应用程序被卸载然后再次安装也是如此。有没有人经历过这个? (我正在仔细检查并将问题作为参考,没有发现任何重复)。

【问题讨论】:

【参考方案1】:

有点...在卸载应用程序后它们可能会持续几个小时,但它们不会被解雇。 您可以自己测试,在调试计划中启动您的应用程序一些通知,删除应用程序,重新安装应用程序并询问 UIApplication 其计划通知。您应该再次看到它们。 我认为 Apple 创建这种模式是为了避免意外卸载。 如果您想删除它们,请在 NSUserDefault 中创建一个 BOOL 标志,以了解它是否是应用程序首次启动。如果是删除所有通知。NSUSerDefault在卸载后不会持续存在(钥匙串是),所以当您删除应用程序时,您可以确保在下次安装时通知将被清除。

【讨论】:

所以他们似乎也被解雇了(我尝试在 ios 8.3 上卸载,自第一次调度以来延迟了两分钟)。 根据我的经验,我看到了卸载后取消计划的行为,但没有看到触发。而且你有证据证明这让我害怕:)【参考方案2】:

如果在 iOS 8.3 上安排了延迟两分钟的 UILocalNotification,则应用程序被卸载并再次安装,通知将被触发。

【讨论】:

以上是关于UILocalNotifications 在卸载/更新后是不是仍然存在?的主要内容,如果未能解决你的问题,请参考以下文章

UILocalNotifications 和 applicationIconBadgeNumber 的良好模式

关闭应用程序后禁用 UILocalNotifications

检测未确认的 UILocalNotifications

CLBeaconRegion notifyEntryStateOnDisplay 和 UILocalNotifications

解雇一系列 UILocalNotifications 或替代方法来实现相同的功能

使用 UILocalNotifications、带有完成处理程序的远程通知和后台获取