According to this topic:
How to clear badge number while preserving notification center
setting:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:-1];
should do the trick.
Frage
In my app, I'm receiving push notifications with badge number set to one. When app will start, it should set badges count to 0, so I'm using:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
And it works, but also it removes all notifications from notifications center.
Is there a way to clear badges without removing notifications?
Lösung
According to this topic:
How to clear badge number while preserving notification center
setting:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:-1];
should do the trick.
Andere Tipps
With iOS9 directly setting badge to negative still clears notifications. You must fire empty UILocalNotification with negative badgenumber to achieve this.
let ln = UILocalNotification()
ln.applicationIconBadgeNumber = -1
UIApplication.sharedApplication().presentLocalNotificationNow(ln)
@feb for ios 9+ you need to set 0 not -1 for that you need to add version condition
if #available(iOS 9.0, *) {
UIApplication.shared.applicationIconBadgeNumber = 0
}else{
UIApplication.sharedApplication().applicationIconBadgeNumber = -1
}