178 votes

Réinitialiser les paramètres de notification push pour l'application

Je développe une application avec les notifications push. Pour vérifier toutes les manières possibles d’interaction avec l’utilisateur, je voudrais tester mon application lorsqu’un utilisateur refuse d’avoir des notifications push activées pour mon application lors du premier démarrage.

La boîte de dialogue (par `` ), cependant, apparaît une seule fois par app. Comment réinitialiser l’iPhone mémoire de l’OS de mon App, l’application de la suppression et la réinstallation n’aide pas.

306voto

ianolito Points 1738

Note technique TN2265: Dépannage des Notifications Push

La première fois qu'un push-enabled application registres pour les notifications push, iOS demande à l'utilisateur si elles désirent recevoir des les notifications de cette application. Une fois l' l'utilisateur a répondu à cette alerte, il est pas présenté de nouveau à moins que l'appareil est de le restaurer ou de l'application a été désinstallé pour au moins une journée.

Si vous souhaitez simuler un premier temps exécution de votre application, vous pouvez quitter l'application désinstallé pour une journée. Vous pouvez obtenir ce dernier, sans réellement attendre un jour par le réglage de l'horloge système avant une journée ou plus, en tournant la appareil complètement, puis en tournant le périphérique.

Mise à jour: Comme mentionné dans les commentaires ci-dessous, cette solution a cessé de travailler depuis iOS 5.1. Je voudrais encourager le dépôt d'un bug avec Apple afin qu'ils puissent mettre à jour leur documentation. La solution actuelle semble être la réinitialisation de l'unité du contenu et des paramètres.

Mise à jour: La note technique a été mis à jour avec de nouvelles mesures qui fonctionnent correctement, comme d'iOS 7.

  1. Supprimer votre application à partir de l'appareil.
  2. L'éteindre complètement et de le rallumer.
  3. Allez dans Réglages > Général > Date Et Heure et de fixer la date avance d'un jour ou plus.
  4. Éteindre l'appareil totalement nouveau et de le rallumer.

49voto

capikaw Points 1167

Un autre juste pour tester la solution à cela est en changeant simplement vos id bundle. Mais n’oubliez pas de le changer une fois que vous avez terminé !

19voto

micmdk Points 101

Comme l'a déjà noté, l'approche de la réinitialisation de la notification de l'état pour une application sur un périphérique est changé pour iOS5 une version plus récente.

Cela fonctionne pour moi sur iOS6:

  • Pour supprimer l'application de l'appareil
  • Pour configurer l'appareil datetime deux jours ou plus à l'avance
  • Redémarrer l'appareil
  • Pour configurer l'appareil datetime deux jours ou plus à l'avance
  • Redémarrer l'appareil
  • Installez et exécutez à nouveau l'application

Cependant, cela ne fera que rendre l'invite initiale apparaissent de nouveau - il ne supprime pas les autres de pousser l'état de choses liées.

9voto

Erik Johnson Points 127

Le plist : /private/var/mobile/Library/RemoteNotification/Clients.plist

... contient les clients enregistrés pour les notifications push. Suppression de l’entrée de votre application entraînera l’invite pour réapparaître

8voto

dagnytaggart Points 147

Le faire par programme semble fonctionner pour moi à chaque fois. J’ai une build avec la ligne suivante sans commentaire :

J’ai exécuter chaque fois que je veux vous désinscrire de PN. Vous devrez peut-être mettre fin à l’application explicitement dans la liste de recents et jouer avec le centre de Notification en application des paramètres à faire les choses.

En outre, l’interface utilisateur invite demandant à l’utilisateur de s’inscrire pour PN peut ne pas apparaître. Ne sais pas si a été désactivé dans les versions récentes d’iOS.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X