Подтвердить что ты не робот

Как очистить счетчик значков push уведомления в iOS?

Я хочу очистить счетчик значков push-уведомления после того, как приложение запущено. Не понятно, где установить приведенный ниже код. Пожалуйста, дайте краткое описание об очистке счетчика значков.

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
4b9b3361

Ответ 1

Вы должны установить это:

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

в любой из этих методов AppDelegate, если приложение запускается и отправляется в фоновый режим, то при запуске приложения метод didFinishLaunchingWithOptions вызываться не будет, поэтому используйте любой из этих методов:

- (void)applicationWillEnterForeground:(UIApplication *)application

- (void)applicationDidBecomeActive:(UIApplication *)application

Для Свифта 3+

- func applicationWillEnterForeground(_ application: UIApplication)
- func applicationDidBecomeActive(_ application: UIApplication)

Ответ 2

быстро 3+

в вашем AppDelegate.Swift, когда ваше приложение активно, снимите все, как показано ниже.

func applicationDidBecomeActive(_ application: UIApplication) {
    UIApplication.shared.applicationIconBadgeNumber = 0
}

Ответ 3

Ну, лучший способ сделать это - сделать функцию, которая вычитает номер значка, а затем сделать UIButton, чтобы позволить пользователю очистить значок. В почтовом приложении по умолчанию, если вы прочтете одно письмо, значок вычитает один из значка. Вы никогда не должны устанавливать его 0 при запуске или возобновлении, это бессмысленно и делает приложение выглядеть дерьмовым. Вычтите его, когда пользователь взаимодействует с этим событием, это лучший способ сделать это. Сделайте свое приложение более профессиональным, если вы просто reset, когда запуск приложения, который знает, что означает прослойки, может также не использовать его.

Ответ 4

Вы можете установить этот код в любом месте кода. Не имеет значения. Но в целом, хранится в UIApplicationDidFinishLaunching..

Ответ 5

    UIApplication.shared.applicationIconBadgeNumber = 1
    UIApplication.shared.applicationIconBadgeNumber = 0