J'ai une application pour la soumission quand elle a été rejetée et j'ai reçu le message
Droit de notification push manquant – Votre application semble s'inscrire auprès du service de notification push Apple, mais les droits de la signature de l'application n'incluent pas le droit "aps-environment". Si votre application utilise le service Apple Push Notification, assurez-vous que votre ID d'application est activé pour la notification Push dans le portail Provisioning Portal et renvoyez après avoir signé votre application avec un profil de provisionnement de dissortingbution incluant le droit "aps-environment".
J'ai vérifié mon provisionnement ad-hoc et là j'ai trouvé l'environnement et la production d'aps cependant, quand j'ouvre mon provisionnement de dissortingbution, je ne le trouve pas.
Est-ce la cause de ce message d'erreur et le rejet d'Apple, comment puis-je le réparer?
Oui, c'est la cause du rejet de l'App Store. Si votre profil d'approvisionnement ad hoc a la key aps-environment, cela signifie que votre application est correctement configurée dans le portail Apple Provisioning Portal. Tout ce que vous devez faire est de supprimer le profil de dissortingbution de l'App Store sur votre machine locale, puis de download à nouveau et d'installer le profil de dissortingbution à partir du portail de provisionnement. Ce nouveau devrait contenir la key aps-environment.
Premier identifiant de l'application
assurez-vous que votre notification Push ID est activée côté production
comme apparaît dans l'image
Deuxième certificate
à partir de la section de production, créez deux certificates avec votre identifiant (notification push activée)
App Store et certificate Ad Hoc
Certificat de service Push Apple SSL (Sandbox)
Troisièmes profils de provisionnement
À partir de la section Dissortingbution, créez un profil App Store avec votre identifiant
finalement
Pendant que vous téléchargez votre chutier, vous devez vérifier le profil d'approvisionnement utilisé et avoir de nombreux droits
tous les cas causent ce problème espérons que cela vous sera utile
Dans XCode 8, vous devez activer l'onglet Capabilities sur votre cible, en plus de tout activer sur les provisions et les certificates: Xcode 8 "le droit aps-environment est manquant dans la signature de l'application" sur submit
Mon blog à ce sujet ici .
J'ai reçu ce message pour une raison différente – j'ai soumis une application via Xcode sans d'abord créer un profil de dissortingbution 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 utilise les notifications Push nécessite son propre profil.
La solution consiste à créer un nouveau profil de dissortingbution 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.
Pour ceux qui sont confrontés à ce problème et qui utilisent des notifications Push dans leurs applications:
Comme nos certificates d'expédition étaient sur le point d'expirer, nous avons créé de nouveaux certificates de dev / prod de la manière standard décrite par Apple (je n'entrerai pas dans les détails ici, il y a beaucoup d'informations sur le web lors de la mise à jour vos certificates de poussée pour une autre année d'utilisation).
Après avoir fait cependant, le problème dans cette question a surgi. Peu importe ce que nous avons fait, nous avons reçu cet e-mail d'Apple après avoir envoyé notre application. Lorsque nous avons vérifié les parameters de notre profil de provisionnement de dissortingbution dans le Centre des membres Apple, tout s'est bien passé (Push était activé pour notre ID d'application pour prod / dev, et notre profil de dissortingbution était toujours connecté à cet ID d'application. nouveaux cercles de poussée pour une autre année comme c'est la pratique standard).
Finalement, c'est ce qui a fini par le résoudre pour moi:
Je sais que ce n'est pas aussi détaillé qu'il devrait l'être car il devrait avoir des captures d'écran, je vais essayer de le mettre à jour avec des captures d'écran quand je le peux mais pour le moment je suis dans un moment critique et je veux ce que j'ai fait là-bas. Il y a aussi une chance très probable que certaines ou la plupart des étapes que j'ai décrites ne soient pas nécessaires, je les pose ici parce que je les ai faites et qu'elles ont pu mener à la solution finale.
Je faisais aussi face à ce problème même si je n'utilisais pas les notifications push du tout dans mon application. Faire un nouveau profil de provisionnement ne fonctionnait pas non plus pour moi. Ce que j'ai fait était: –
1.Créer un nouveau certificate pour Ad hoc et App Store uniquement.
2. Ensuite, créez un profil de dissortingbution avec ce certificate et intégrez le profil avec Xcode.
Puis nouvellement construit build avec ce profil approuvé sans aucun avertissement.
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 le "problème de correction". Bien sûr, vous aurez toujours besoin de configurer des notifications push dans le portail Apple Developer (vous pouvez simplifier un peu le process en utilisant la nouvelle option "Gérer automatiquement la signature", qui vous évite de devoir download les profils d'approvisionnement).
Vérifiez que l'identifiant de votre application est activé ou non sur developer.apple.com dans iOS Provisioning Portal Si ce n'est pas le cas, configurez votre certificate SSL Push pour votre identifiant d'application Téléchargez-le et réinstallez-le dans votre trousseau dans votre Xcode Liabrary
Dans mon cas, même j'ai créé un myapp.profile et l'ai placé dans xcode manuellement, et quand j'ai choisi "show in finder" et localisé l'embedded.mobileprovision et vérifié pour m'assurer que l'environnement aps est là dans le file, l'erreur était toujours là.
Je suis ensuite allé au centre de développement et a constaté que le statut de XC: myapp.profile est invalide. Je l'ai mis à jour et installé le XC: myapp.profile et cela a bien fonctionné.
Je pense que xcode essaie de gérer le profil et vous devez vérifier le profil d'approvisionnement lorsque vous soumettez votre file binary à stocker, et assurez-vous qu'il est le bon. Et selon d'autres réponses, il peut être causé pour diverses raisons, donc cela peut être vraiment ennuyeux.
METTRE À JOUR:
Une fois que vous avez signé avec le profil téléchargé et confirmé que aps-environment
était là lorsque vous essayez de soumettre à App Store
, vous devriez être en mesure de changer le profil et l'entité de signature de code pour automatique et iOS Developer
. Espérons qu'il peut être amélioré dans Xcode 7.
C'est ce qui m'a arrangé. (J'avais déjà essayé d'activer / désactiver les fonctionnalités, recréer le profil d'approvisionnement, etc.).
Dans l'onglet Paramètres de construction , dans Code Signing Entitlements , mon file .entitlements n'était pas un lien pour toutes les sections. Une fois que je l'ai ajouté à la section Any SDK, l'erreur a été résolue.
Cela m'est arrivé soudainement parce que le profil de dissortingbution de mon application avait expiré. Xcode a commencé à utiliser le profil générique à la place, qui ne possédait pas l'autorisation de notification push activée. Je n'ai reçu aucun avertissement. Le correctif était facile. Il me suffisait de générer un autre profil de dissortingbution pour mon application dans le Centre des développeurs Apple, de le download et de double-cliquer pour l'installer dans Xcode.
Il y a de très bonnes suggestions ici.
En reference à la dernière capture d'écran fournie par Mina, après l'archivage initial de mon application, le profil d'approvisionnement mentionné lors du téléchargement contenait un caractère générique (XC. *). C'est faux.
Il a fallu un effort considérable pour résoudre ce problème. J'ai dû faire une combinaison des suggestions fournies par Simon Woodside et Mina Fawzy.
Si vous avez des certificates existants et des profils d'approvisionnement liés à votre projet, il serait time de les supprimer tous localement et de les révoquer tous à distance. Donnez-vous un nouveau départ.
La suggestion détaillée de Mina Fawzy est excellente. Effectuer la suggestion de Mina, si elle est effectuée correctement, devrait prendre soin de vous en ligne.
Entrez la suggestion de Simon. Deux choses dont j'avais besoin pour vérifier dans mon projet. En utilisant Xcode, allez ici:
PROJET -> CONFIGURATION BUILD -> SIGNATURE DE CODE
Vérifiez les propriétés Identité de signature de code et Profil de provisionnement . Assurez-vous de définir ces deux propriétés sur celle du nom de votre projet. Ne permettez pas à XCode de sélectionner automatiquement pour vous, et n'utilisez pas une identité générique de signature de code (par exemple Iphone Developer).
Assurez-vous que vous pouvez réellement installer l'application sur vos appareils avant de décider d'archiver.
Le plus gros problème que j'ai après avoir activé la Push Notification
des Capabilities
et refaire tous les certificates est que le nom de la cible et le nom du dossier où était stocké le projet étaient composés de 2 strings séparées par l'espace. Après avoir enlevé l'espace tout a bien fonctionné!
J'ai eu le même problème et ma solution consistait à append le droit de notification push de Target -> Capabilities.