iPhone: как убрать значок после Push Notification? - PullRequest
40 голосов
/ 26 ноября 2009

Какой код для удаления значка на значке моего приложения? Когда я получаю push, мне нужно удалить его при нажатии кнопки!

Ответы [ 4 ]

95 голосов
/ 26 ноября 2009

objC :

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

swift :

UIApplication.sharedApplication().applicationIconBadgeNumber = 0;
9 голосов
/ 04 июня 2014

Вы можете удалить значок из push-уведомлений, добавив в код следующие строки

(void)applicationDidBecomeActive:(UIApplication *)application
{
    [[UIApplication sharedApplication] cancelAllLocalNotifications];
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}
7 голосов
/ 25 мая 2012

Что касается iOS5, просто установка номера значка не удалит эти push-уведомления в центре уведомлений. Вы должны сделать это ...

[[UIApplication sharedApplication] cancelAllLocalNotifications];
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

Я уже проверял это. Похоже, что метод cancelAllLocalNotifications также работает с push-уведомлениями в центре уведомлений.

1 голос
/ 26 марта 2017

Swift 3

UIApplication.shared.applicationIconBadgeNumber = 0

Может быть добавлен в следующие методы:

optional public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool

и

optional public func applicationDidBecomeActive(_ application: UIApplication)
...