J'avais utilisé
[UIApplication sharedApplication].applicationIconBadgeNumber = 5;
pour définir le numéro de badge de l'application. Cela ne fonctionne pas uniquement sur iOS 9.
Quelqu'un peut-il suggérer pourquoi?
J'ai essayé,
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:5];
Salut Vous devez enregistrer UIUserNotificationSettings comme ceci
UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
[UIApplication sharedApplication].applicationIconBadgeNumber = 1;
Inscription aux types de notification dans iOS
Dans iOS 8 et versions ultérieures, les applications qui utilisent des notifications locales ou distantes doivent enregistrer les types de notifications qu'elles ont l'intention de délivrer. Le système donne ensuite à l'utilisateur la possibilité de limiter les types de notifications affichées par votre application. Le système n'insigne pas d'icônes, n'affiche pas de messages d'alerte ou n'émet pas de sons d'alerte si l'un de ces types de notification n'est pas activé pour votre application, même s'ils sont spécifiés dans la charge utile de notification. Lien: Docs
@property (nonatomic) NSInteger applicationIconBadgeNumber; // mis à 0 pour cacher. la valeur par défaut est 0. Dans iOS 8.0 et versions ultérieures, votre application doit s'enregistrer pour les notifications des utilisateurs à l'aide de - [UIApplication registerUserNotificationSettings:] avant de pouvoir définir le badge d'icône.
Je pense donc que vous devez enregistrer des badges pour la notification de changement de numéro.
Cela fonctionne parfaitement comme ceci:
[UIApplication sharedApplication].applicationIconBadgeNumber = 10;
J'ai essayé dans Xcode 7.2, iOS 9.2, iPhone 6s Plus.