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

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

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

【问题讨论】:

  • 显示您用于创建通知的一些代码。听起来您正在使用 NSTimer。
  • 没有用于创建通知的任何代码。都被注释掉了。

标签: iphone objective-c cocoa-touch localnotification


【解决方案1】:

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

[[UIApplication sharedApplication] cancelAllLocalNotifications];

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

【讨论】:

    【解决方案2】:

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

    最好的问候。

    【讨论】:

    • 那是NSNotificationCenter他说的是UILocalNotification
    猜你喜欢
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 2022-01-17
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    相关资源
    最近更新 更多