推送通知徽章重置计数

9

我正在使用PushBot作为我的推送通知服务,我的问题是如何重置徽章计数。我已经搜索并阅读了这行代码:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

唯一的重置徽章计数的方法是从多任务栏中退出应用程序并再次启动应用程序,非常感谢您的帮助。谢谢。

你想什么时候清除徽章计数? - Marcus Adams
当应用程序再次启动时,我想要清除徽章计数。 - Automator21
3个回答

17

在您的用户界面上创建一个按钮,然后在其操作中放置代码行:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

这将会重置它。

在这里查看其他实现方式。


15

只需在应用程序激活时包含以下代码行,即可清除徽章计数:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

AppDelegate.m文件的applicationDidBecomeActive委托方法中。

applicationDidFinishLaunchingWithOptions仅在初始启动时调用,当应用程序进入后台并返回前台时不会再次调用它。


这似乎是有效的,但下次收到通知时,计数不是1。它是已删除的计数+1(自应用程序安装以来的总通知计数)。有什么想法吗? - Brad Adams
我也得到了“被删除的计数”+1。有什么帮助吗?我已经将该代码放在applicationDidBecomeActiveapplicationDidFinishLaunchingWithOptions中。 - Terence
1
你是在谈论远程通知中的徽章编号吗?当您发送远程通知时,这取决于您在服务器上设置的内容。 - Marcus Adams

3

对于Swift 3.0

//AppleDelgate.swift
 func applicationDidBecomeActive(_ application: UIApplication) {
        //....
        application.applicationIconBadgeNumber = 0
       //....
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接