Обновление значка iOS без push-уведомлений

Я видел несколько приложений todo, которые обновляют свои значки приложений в полночь, всегда показывая правильное количество задач. Они делают это без использования Push-уведомлений - поэтому мой вопрос: как они это делают? Используют ли они локальные уведомления - если так, то они вызываются, когда устройство выключено? Я немного сбит с толку и был бы признателен.

5 ответов

Решение

Попробуй это

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];

Чтобы сделать это через локальные уведомления, вы должны установить значение в applicationIconBadgeNumber

UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.applicationIconBadgeNumber = 1;// set here the value of badge

И для всех, кто использует новый и блестящий Swift:

UIApplication.sharedApplication().applicationIconBadgeNumber = someNumber

Свифт 3:

UIApplication.shared.applicationIconBadgeNumber = someNumber

Начиная с iOS 4.0 вы можете запускать локальные уведомления на всех устройствах, на которых установлена ​​хотя бы iOS 4.0. Заглянуть в UILocalNotification класс, он позволяет установить значок в полночь, не запуская ваше приложение.

Задавать UIApplication"s applicationIconBadgeNumber Свойство в вашем коде при запуске приложения:

[UIApplication sharedApplication].applicationIconBadgeNumber = someNumber;

Для цели C вы должны использовать:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber : anyNumber ];            

Swift 5

UIApplication.shared.applicationIconBadgeNumber = someNumber
Другие вопросы по тегам