Я видел несколько приложений todo, которые обновляют свои значки приложений в полночь, всегда показывая правильное количество должных задач. Они делают это без использования Push-уведомлений, поэтому мой вопрос: как они это делают? Используют ли они локальные уведомления - если да, вызываются ли они, когда устройство выключено? Я немного смущен и буду признателен за ввод.
Обновление значка iOS без push-уведомлений
Ответ 1
Попробуйте это
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
Чтобы сделать это через локальные уведомления, вы должны установить значение в applicationIconBadgeNumber
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.applicationIconBadgeNumber = 1;// set here the value of badge
Ответ 2
Начиная с iOS 4.0 вы можете запускать локальные уведомления на всех устройствах, которые работают как минимум с iOS 4.0. Посмотрите на класс UILocalNotification
, он позволяет установить значок в полночь без запуска вашего приложения.
Ответ 3
Задайте свойство UIApplication
applicationIconBadgeNumber
в вашем коде при запуске приложения:
[UIApplication sharedApplication].applicationIconBadgeNumber = someNumber;
Ответ 4
И для всех, кто использует новый и блестящий Swift:
UIApplication.sharedApplication().applicationIconBadgeNumber = someNumber
Swift 3:
UIApplication.shared.applicationIconBadgeNumber = someNumber
Ответ 5
Для цели C вы должны использовать:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber : anyNumber ];