147 votes

Droit de notification Push manquant

J'ai une application à soumettre, mais elle a été rejetée et j'ai reçu le message suivant

Missing Push Notification Entitlement - Votre application semble s'enregistrer service de notification push d'Apple, mais les droits de la signature de l'application signature de l'application n'inclut pas le droit "aps-environment". Si votre application utilise le service Apple Push Notification, assurez-vous que votre App ID est est activé pour la notification push dans le portail de provisionnement, puis soumettez à nouveau votre application après l'avoir signée avec une provision de distribution. après avoir signé votre application avec un profil de distribution qui inclut le droit "aps-environ". qui inclut le droit "aps-environment".

J'ai vérifié mon provisionnement ad-hoc et j'y ai trouvé aps-environment et production ; cependant, lorsque j'ouvre mon provisionnement de distribution, je ne les trouve pas.

Est-ce la cause de ce message d'erreur et du rejet de la pomme, comment puis-je le réparer ?

0 votes

J'ai simplement résolu ce problème en suivant les étapes suivantes : stackoverflow.com/a/71478084/11675817

87voto

tom Points 5216

Oui, c'est la cause du rejet de l'App Store. Si votre profil de provisionnement ad hoc possède la clé aps-environment, cela signifie que votre application est configurée correctement dans l'Apple Provisioning Portal. Il vous suffit de supprimer le profil de distribution App Store sur votre machine locale, puis de retélécharger et d'installer le profil de distribution à partir du portail de provisionnement. Ce nouveau profil devrait contenir la clé aps-environment.

0 votes

Juste pour dissiper un peu plus le brouillard, il est dit que le "profil de distribution DOIT contenir l'environnement aps, etc.", et que lorsque j'ouvre le provisionnement dans un éditeur de texte, je devrais le trouver là...

0 votes

Dois-je générer un nouveau certificat SSL, en particulier lorsque j'ai changé quelque chose dans mon profil de distribution ?

2 votes

Non, il n'est pas nécessaire d'obtenir un nouveau certificat de développeur. Lorsque vous avez activé la distribution pour les notifications push (ce que vous avez dû faire à un moment donné car votre profil ad hoc contient la clé aps-environment), l'iTunes Provisioning Portal génère un nouveau profil de distribution de l'app store contenant la clé aps-environment. Vous venez probablement de télécharger et d'installer la dernière version.

45voto

Mina Fawzy Points 13122

Première App ID

vérifiez que votre notification push ID est activée du côté de la production.

comme indiqué sur la photo

enter image description here

Deuxième certificat

dans la section production, créez deux certificats avec votre identifiant (notification push activée).

App Store et Ad Hoc certificat

Service Apple Push Notification SSL (Sandbox) certificat

enter image description here

Troisième profil d'approvisionnement

Dans la section Distribution, créez App Store profil avec votre identifiant

Enfin

lorsque vous téléchargez votre bac, vous devez vérifier quel profil de provisionnement a été utilisé. et avoir beaucoup de droits

enter image description here

dans tous les cas, ce problème se pose J'espère que cela vous sera utile.

1 votes

C'est ce qui me manquait. J'ai dû créer un nouveau profil de provisionnement sur le site des développeurs d'Apple en utilisant l'App ID avec les notifications push. Avec le nouveau profil de provisionnement, l'habilitation aps-environment a finalement été ajoutée à mon application. Je vous remercie de votre attention.

41voto

Vaiden Points 2186

Dans XCode 8, vous devez activer la fonction "push" dans l'onglet "Capabilities" de votre cible, en plus de tout activer sur les provisions et les certificats : Xcode 8 "the aps-environment entitlement is missing from the app's signature" on submit

Mon article de blog à ce sujet aquí .

8 votes

C'est du Apple classique. Deux heures après que j'ai soumis un build, ils envoient un message d'erreur à propos d'un problème que j'ai résolu depuis longtemps (activer le Push Notification Application Service dans le Dev Portal) et qui est expliqué par un lien vers un 404. Ensuite, il s'avère que le vrai problème est qu'ils n'ont pas migré mes paramètres lors de la mise à jour vers une nouvelle version de leur logiciel (pour laquelle je suis bloqué). Ugh.

3 votes

C'est la même chose ici. Nous avons failli considérer le message d'erreur comme un bogue d'Apple.

24voto

sbwoodside Points 3860

J'ai reçu ce message pour une raison différente : j'ai soumis une application via Xcode sans avoir préalablement créé un profil de distribution App Store spécifiquement pour l'application. Je crois que Xcode utilise automatiquement un profil App Store générique si vous en avez installé un. Mais une application qui utilise les notifications push nécessite son propre profil.

La solution consiste à créer un nouveau profil de distribution App Store pour l'application. Ensuite, vous le téléchargez, le faites glisser sur Xcode, et modifiez votre projet Build Settings > Code Signing > Release pour utiliser le nouveau profil.

14voto

Ian Points 1129

Suite à la réponse donnée par @Vaiden, dans Xcode 8 vous pouvez résoudre ce problème en sélectionnant la cible et en cliquant sur "Fix issue". Bien sûr, vous aurez toujours besoin de configurer les notifications push dans le fichier Portail Apple pour les développeurs (vous pouvez simplifier un peu le processus en utilisant la nouvelle option "Gérer automatiquement la signature", qui vous évite de devoir télécharger les profils de provisionnement).

Fix me option

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