如何在iOS中清除推送通知徽章数量?
一旦启动应用程序,我想清除推送通知的徽章计数。不清楚在哪里设置下面的代码。请简要说明清除徽章计数。
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
你应该设置这个[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
在这些AppDelegate方法中,如果应用程序启动并发送到后台,则启动应用程序didFinishLaunchingWithOptions
方法将不会被调用,所以使用这些方法
- (void)applicationWillEnterForeground:(UIApplication *)application - (void)applicationDidBecomeActive:(UIApplication *)application
对于Swift 3+
- func applicationWillEnterForeground(_ application: UIApplication) - func applicationDidBecomeActive(_ application: UIApplication)
你可以在代码的任何地方设置代码..没关系。 但一般来说,保存在UIApplicationDidFinishLaunching
。
那么,更好的方法是做一个function,减去徽章号码,然后让UIButton让用户清除徽章。 在默认邮件应用程序中,如果您阅读了一封电子邮件,徽章将从图标中减去一个。 你不应该在启动或恢复时将其设置为0,这是没有意义的,并使应用程序看起来很糟糕。 当用户与该事件交互时,减去它是最好的方法。 让你的应用程序更专业,如果你只是重新启动应用程序启动谁知道什么是bedges的意思,也可以不使用它。
在迅速3 +
在你的AppDelegate.Swift中 ,当你的应用程序主动清除所有如下所示。
func applicationDidBecomeActive(_ application: UIApplication) { UIApplication.shared.applicationIconBadgeNumber = 0 }