Comment faire pour incrémenter demande le numéro de badge pour les locaux de notification (iPhone)
J'ai configuré une notification locale qui se répète à chaque minute, cependant j'ai besoin de la demande de numéro de badge pour incrémenter à chaque fois. Lorsque je l'exécute à l'instant, il ne semble pas augmenter, il reste simplement un 1. Svp quelqu'un peut-il m'aider?
Ici est de savoir comment je créer les notifications:
//Create the UILocalNotification
UILocalNotification *myNotification = [[UILocalNotification alloc] init];
myNotification.alertBody = @"Blah blah blah...";
myNotification.alertAction = @"Blah";
myNotification.soundName = UILocalNotificationDefaultSoundName;
myNotification.applicationIconBadgeNumber++;
myNotification.timeZone = [NSTimeZone defaultTimeZone];
myNotification.repeatInterval = NSMinuteCalendarUnit;
myNotification.fireDate = [[NSDate date] dateByAddingTimeInterval:30];
[[UIApplication sharedApplication] scheduleLocalNotification:myNotification];
- Pouvez-vous mettre un peu de code ?
- J'ai ajouté le code que j'utilise pour créer les notifications.
- avez-vous jamais trouver une solution pour ce problème?
Vous devez vous connecter pour publier un commentaire.
Après avoir fait beaucoup de recherches, j'ai trouvé la solution est qu'il n'y a pas de solution:
iPhone: Incrémentation de la demande de badge via une notification locale
Il n'est pas possible de mettre à jour dynamiquement le numéro de badge avec des notifications locales pendant que votre application est en arrière-plan. Vous devez utiliser les notifications push.
Si vous utilisez un service de l'extérieur comme les Analyser pour Pousser, cela devrait être facile à faire. Juste incrément d'Analyse numéro de badge lorsqu'une notification locale est déclenché. Bien que, c'est un cas particulier.
Alors il n'y a pas de simple
applicationIconBadgeNumber++
méthode, comme Bpra mentionné, vous pouvez obtenir ce que vous demandez par la mise à jour de l'ensemble de la date prévue de l'UILocalNotifications' applicationIconBadgeNumbers chaque fois qu'une notification est ajoutée ou supprimée.Tout cela ne fonctionnera pas si vous avez remarque que l'utilisation
repeatInterval
, aussi longtemps que vous appelezscheduleNotification
etdecrementBadgeNumber
au bon moment, la classe ci-dessous devrait faire l'affaire.J'ai été en mesure de le faire à l'aide de la ligne suivante tout en annexe de la notification locale
et sur l'autre extrémité dans l'appdelegate
Essayez quelque chose comme:
Cela devrait fonctionner.
Essayez ceci ... il a travaillé pour moi dans le scénario simple ...
Et n'oubliez pas d'insigne de l'icône de retour à 0 lorsque l'application se lance.