J'ai vu quelques applications à effectuer qui mettent à jour leurs badges à minuit, en affichant toujours le nombre correct de tâches à effectuer. Ils font ceci sans l'utilisation de notifications push - alors ma question est: comment font-ils cela? Utilisent-ils des notifications locales - si oui, sont-elles appelées lorsque l'appareil est éteint? Je suis un peu confus et aimerais avoir votre avis.
Essaye ça
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
Pour ce faire, via des notifications locales, vous devez définir la valeur dans applicationIconBadgeNumber
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.applicationIconBadgeNumber = 1;// set here the value of badge
Depuis iOS 4.0, vous pouvez déclencher des notifications locales sur tous les appareils exécutant au moins iOS 4.0. Regardez dans la classe UILocalNotification
, cela vous permet de définir le badge à minuit sans que votre application soit exécutée.
Et pour tous ceux qui utilisent Swift, nouveau et brillant:
UIApplication.sharedApplication().applicationIconBadgeNumber = someNumber
Swift 3:
UIApplication.shared.applicationIconBadgeNumber = someNumber
Définissez la propriété UIApplication
de applicationIconBadgeNumber
dans votre code lorsque l'application est en cours d'exécution:
[UIApplication sharedApplication].applicationIconBadgeNumber = someNumber;
Pour l’objectif C., vous devez utiliser:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber : anyNumber ];