2017-08-30 6 views
0

Je travaille actuellement sur une application ios. Il y a quelques jours, j'ai utilisé un compte Apple qui était inscrit en tant qu'individu. Pour recevoir des notifications, j'ai utilisé fastlane pem: https://github.com/fastlane/fastlane/tree/master/pem pour créer un fichier pem. Cette bibliothèque génère un certificat pour les notifications push (Type: Apple Push Services) dans votre compte Apple. Ce fichier pem a été ajouté à notre serveur et les notifications push ont fonctionné, je les ai reçues.Ne pas recevoir de notifications push après avoir changé de compte Apple

Cependant, nous avons changé pour un nouveau compte Apple, qui a été inscrit en tant qu'individu. J'ai utilisé ce compte dans XCode, créé un nouvel identifiant d'application (avec un autre identifiant de bundle avant) et provisionné des fichiers. J'ai de nouveau utilisé Fastlane pem pour créer un nouveau fichier pem et mis à jour le fichier pem sur le serveur. Pour une raison quelconque, je ne reçois pas de notifications maintenant. Lorsque nous passons au premier compte et que nous mettons à jour le fichier pem, cela fonctionne de nouveau. Donc, je suppose que cela a quelque chose à voir avec le nouveau compte Apple.

Une idée? Merci!

+0

ressemble à la génération de PEM avec un nouvel identifiant d'application. Vous devez être générer tout nouveau cer comme la distribution, le développement de nouveaux push cer aussi bien. coz ne app id utiliser individule tout le cer. alors suivez la même étape que ce que vous avez fait pour l'ancienne app id avec new cer –

+0

J'ai généré tous les nouveaux fichiers. Parce qu'avec le compte Apple, j'ai un portail de développeurs différent. De cette façon, je suis sûr qu'il y a de nouveaux certificats. La chose est, j'ai suivi les mêmes étapes que je l'ai fait avec l'ancienne application. –

+0

Je dois utiliser le certificat de production, n'est-ce pas? Avec le type "Apple Push Services" –

Répondre

1

Vérifiez les points suivants:

  • est de pousser activé dans votre projet Xcode-?
  • Push est-il activé pour l'application dans votre portail de développeur et le certificat est-il stocké en mode push?
  • Les certificats sont-ils valides? (portail des développeurs)
  • Vérifiez le jeton de votre périphérique de notification de ce que vous obtenez dans AppDelegate s'il est toujours le même. Pour autant que je sache, c'est le jeton créé par combinaison appareil/application. Si votre application possède un autre identifiant, iOS pense qu'il s'agit d'une "autre" application et vous obtiendrez un autre jeton.
  • Votre application avec le nouvel identifiant a-t-elle demandé des notifications à distance? Sinon, vous devez demander ou regarder dans iOS-Settings si les notes sont activées ou non.
+0

Push est activé dans XCode (et les coches). Push est activé dans le portail des développeurs (lorsque je clique sur l'identifiant de l'application), et il existe un certificat avec le type "Apple Push Services". Avec valide, vous voulez dire que la date d'expiration n'a pas été atteinte? Dans ce cas, c'est valide. Le jeton d'appareil est toujours le même. C'est pourquoi c'est bizarre. Tout a l'air correct. –

+0

Oui, je voulais dire ça. – user8527410

+0

Peut-être que vous devriez supprimer votre application de votre appareil et le réinstaller avec XCode. Ensuite, l'application doit demander la permission pour les notifications et (je pense) un nouveau jeton de périphérique sera généré. BTW: nous parlons d'un iPhone ou iPad et pas le simulateur?) – user8527410

0

J'ai finalement résolu le problème. Je ne sais pas ce qui a causé le problème. J'ai transféré l'application sur le compte Apple 1 vers le compte Apple 2. Par conséquent, l'identifiant de l'application a également été transféré. J'ai supprimé l'identifiant de l'application précédemment utilisé sur le compte Apple 2. J'ai donc utilisé l'identifiant de l'application sur le compte Apple 2 transféré à partir du compte Apple 1. Les certificats n'étaient pas transférés, donc je les ai créés comme je le faisais auparavant. fichier pem. Cela a fait l'affaire.