本地通知不会消失

Posted

技术标签:

【中文标题】本地通知不会消失【英文标题】:Local notifications will not go away 【发布时间】:2011-01-24 23:02:55 【问题描述】:

昨天我在我的应用程序中添加了本地通知(包括重复通知),然后当我启动应用程序时它经常会弹出通知。我注释掉了所有引用本地通知的代码,它仍在这样做。我也从模拟器中删除了该应用程序,然后重新安装它,它仍在执行此操作。有什么建议吗?

编辑:由于某种原因,它实际上似乎每分钟触发一次通知。

【问题讨论】:

显示您用于创建通知的一些代码。听起来您正在使用 NSTimer。 没有用于创建通知的任何代码。都被注释掉了。 【参考方案1】:

如果您的意思是UILocalNotification,则将此行添加到您的应用并运行一次

[[UIApplication sharedApplication] cancelAllLocalNotifications];

这将取消您的应用添加的所有本地通知,包括之前运行的通知。相关的,你也可以查看 UIApplication 的scheduledLocalNotifications 属性。

【讨论】:

【参考方案2】:

如果您没有在任何可能收到通知的视图控制器中添加[[NSNotificationCenter defaultCenter] removeObserver:self],然后将该视图控制器从导航堆栈中弹出,因为它由通知中心保留,它会保留在内存中并继续在通知到来时做出响应。我知道您说过您删除了 postNotification 代码,但您一定在某处遗漏了一些代码,因为如果没有调用 post 通知的东西,这将无法自动发生。您收到的信息是什么?是弹出的警报视图吗?它有自定义消息还是系统消息?找到显示警报视图的位置,并确保从通知中心删除该视图控制器。如果它是一条系统消息,请弄清楚设置了哪个视图控制器来接收该系统消息的通知,并确保 * 作为观察者从通知中心被正确删除。

最好的问候。

【讨论】:

那是NSNotificationCenter他说的是UILocalNotification

以上是关于本地通知不会消失的主要内容,如果未能解决你的问题,请参考以下文章

本地通知不会出现 - iOS

iPhone本地通知不会出现[重复]

iOS 本地通知不会在锁定屏幕上播放声音

当应用程序在 iOS 10 的前台时,不会调用“willPresent 通知”并且本地通知不会显示

当 iPhone 从配对的 Apple Watch 收到消息时本地通知不会取消(有时)

是否可以在一定时间后使 UNNotification 过期或消失?