Problème: L’application n’apparaît pas sur le centre de notifications et ne peut pas recevoir de notifications Push une fois l’installation terminée et que l’application enregistre les notifications Push via registerForRemoteNotificationTypes:
.
Détails:
registerForRemoteNotificationTypes
chaque fois qu'un utilisateur se connecte et chaque fois qu'un utilisateur se déconnecte respectivement avec des masques de bits (UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound
) et UIRemoteNotificationTypeNone
.enabledRemoteNotificationTypes
renvoie les valeurs correctes.unregisterForRemoteNotifications
lors de la déconnexion, mais j’ai changé pour registerForRemoteNotificationTypes:UIRemoteNotificationTypeNone
en raison de la suspicion que cela pourrait être à l’origine du problème.Toutes les pensées et les conseils seront grandement appréciés. Je vous remercie!
Cela arrivait à certains de mes appareils. (Ne pas apparaître dans le centre de notification et ne pas recevoir de demandes d'accès.)
Réussi à le réparer en faisant:
Pour nous, cela n'a pas fonctionné immédiatement, alors laissez-le quelques minutes.
Eh bien, j'ai aussi ce problème, j'ai constaté que l'application utilisait unregisterForRemoteNotifications avant la désinstallation lors de l'installation précédente.
Et, en outre, si l'application se réinstallait et se connectait pour s'inscrire aux notifications à distance, ce problème se produirait.
Cela s'est également produit lors de la première installation (installé après la réinitialisation de votre appareil iOS). si vous utilisez les unregisterForRemoteNotifications avant la connexion, puis vous enregistrez lors de la connexion, ce problème se produira.
Ce problème étant survenu, vous devez redémarrer le périphérique iOS.
Pour les unregisterForRemoteNotifications, nous n'avons pas pu arrêter ce problème, mais nous pouvons réduire la probabilité que le problème se produise. La méthode est la suivante:
Si le jeton de périphérique n'a pas été supprimé du fournisseur lors de l'installation précédente, utilisez alors unregisterForRemoteNotifications lors de l'installation en cours avant la connexion;
Peut-être qu’il ya un problème d’inscription et de désinscription de l’application lors de la connexion/déconnexion, à partir de documentation Apple :
Une application doit s’enregistrer chaque fois qu’elle est lancée et attribuer le jeton actuel à son fournisseur.
Et pas sûr de la désinscription, ils ne mentionnent pas la désinscription dans leur guide de programmation, peut-être que l'application ne devrait jamais désinscription et le serveur devrait s'en charger, en envoyant ou non des notifications Push, selon que l'utilisateur est connecté ou non. C’est comme cela que je l’ai fait par le passé et que je n’ai jamais connu ce problème, alors peut-être que cette approche fonctionne pour vous aussi.