web-dev-qa-db-fra.com

application iOS absente du centre de notification

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:

  • L'application apparaît généralement dans le centre de notifications après le redémarrage de l'appareil, puis tout fonctionne correctement.
  • Parfois, l'application apparaît dans le centre de notification juste après l'installation et l'enregistrement des APN (je ne peux toujours pas le confirmer, mais je pense être tombé sur de telles situations).
  • L'application appelle la méthode 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.
  • Au départ, j’ai utilisé la méthode 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.
  • Ce problème se produit à la fois dans les versions de développement et les versions ad hoc, et ce indépendamment du fait que l'application soit installée via xcode ou iTunes.

Toutes les pensées et les conseils seront grandement appréciés. Je vous remercie!

13
e2l3n

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:

  • Supprimer l'application
  • Supprimez tous les profils pertinents de l'appareil. Paramètres app> Général> Profils, appuyez ensuite sur chacun des profils de provisioning liés à votre application, puis appuyez sur Supprimer. Sur iOS 8/9, où le paramètre n'existe plus, utilisez XCode> Windows> Périphériques> sélectionnez le périphérique> Afficher les profils de provisionnement ...>, puis supprimez le ou les profils.
  • Éteignez votre téléphone, puis rallumez-le.
  • Donner 5 minutes
  • Réinstallez votre application, le profil de provisioning doit s'installer automatiquement.
  • Lancez l'application et laissez-la s'inscrire et tout le reste.
  • Testez à nouveau les notifications Push

Pour nous, cela n'a pas fonctionné immédiatement, alors laissez-le quelques minutes.

16
just.jimmy

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;

0
Jennifer

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.

0
irodrigo17