J'ai une application à soumettre quand elle a été rejetée et que j'ai reçu le message
Titre de notification push manquant - Votre application semble s'inscrire avec le service de notification Apple Push, mais la signature de l'application les droits ne comprennent pas le droit "environnement-aps". Si ton app utilise le service de notification Apple Push, assurez-vous que votre identifiant d'application est activé pour la notification push dans le portail de provisioning et le soumettre à nouveau après avoir signé votre application avec un profil de provisionnement de distribution qui inclut le droit "aps-environment".
J'ai vérifié mon provisiong ad hoc et j'ai trouvé aps-environment et production. Cependant, lorsque j'ouvre mon provisioning de distribution, je n'en trouve pas.
Est-ce la cause de ce message d'erreur et du rejet d'Apple, comment puis-je résoudre le problème?
Oui, c'est la cause du rejet de l'App Store. Si votre profil de provisioning ad-hoc a la clé aps-environment, cela signifie que votre application est configurée correctement dans le portail d'approvisionnement Apple. Tout ce que vous avez à faire est de supprimer le profil de distribution App Store sur votre ordinateur local, puis de télécharger à nouveau et d'installer le profil de distribution à partir du portail de provisioning. Ce nouveau devrait contenir la clé aps-environment.
Premier identifiant d'application
assurez-vous que votre notification ID Push est activée en production
comme apparaissent dans l'image
Deuxième certificat
depuis la section production, créez deux certificats avec votre identifiant (notification push activée)
App Store et Ad Hoc certificat
Service de notification Apple Push SSL (Sandbox) certificat
Troisième profils d'approvisionnement
Depuis la section Distribution, créez App Store profile avec votre identifiant
Finalement
pendant que vous téléchargez votre bac, vous devez vérifier le profil d'approvisionnement utilisé et disposer de nombreux droits.
cela tous les cas causent ce problème espérons que ceci soit utile avec vous
Dans XCode 8, vous devez activer l’affichage Push dans l’onglet Capacités de votre cible, en plus de tout activer dans les dispositions et les certificats: Xcode 8 "le droit relatif à l’environnement aps est absent de la signature de l’application" lors de la soumission
Mon article sur ce blog ici .
J'ai reçu ce message pour une raison différente: j'ai soumis une application via Xcode sans avoir au préalable créé un profil de distribution App Store spécifiquement pour l'application. Je pense que Xcode utilise automatiquement un profil générique de l'App Store, si vous en avez un. Mais une application utilisant les notifications push nécessite son propre profil.
Le correctif consiste à créer un nouveau profil de distribution App Store pour l'application. Ensuite, téléchargez-le, faites-le glisser sur Xcode et modifiez votre projet Paramètres de construction> Signature de code> Libérer pour utiliser le nouveau profil.
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 bouton "Résoudre le problème". Bien sûr, vous devrez toujours configurer les notifications Push dans le portail Apple Developer (vous pouvez simplifier un peu le processus en utilisant la nouvelle option "Gérer automatiquement la signature", ce qui vous évite d'avoir à télécharger le provisioning profils).
Pour ceux qui rencontrent ce problème et qui utilisent réellement les notifications push dans leurs applications:
Nos certs Push étant sur le point d'expirer, nous avons donc créé de nouveaux certs Push de type dev/prod de la manière standard décrite par Apple (je n'entrerai pas dans les détails ici, il y a de nombreuses informations à ce sujet sur le Web lors de la mise à jour votre certs pour une autre année d’utilisation).
Après cela, cependant, le problème dans cette question est apparu. Peu importe ce que nous avons fait, nous avons reçu cet e-mail d'Apple après avoir soumis notre application. Lorsque nous avons vérifié les paramètres de notre profil d'approvisionnement de distribution dans le centre des membres Apple, tout semblait aller pour le mieux (le Push a été activé pour notre ID d'application pour les deux prod/dev, et notre profil d'approvisionnement de distribution était toujours connecté à cet ID d'application, nous venons de créer nouvelles alertes Push pour une autre année, comme cela est généralement le cas).
Enfin, voici ce qui a finalement été résolu pour moi:
Je sais que ce n'est pas aussi détaillé qu'il devrait l'être car il devrait contenir des captures d'écran. J'essaierai de le mettre à jour avec des captures d'écran dès que je pourrai, mais pour le moment, je suis dans une situation critique en ce moment et je voulais obtenir le titre de ce que j'ai fait là-bas. Il est également fort probable que certaines ou la plupart des étapes que je viens d'esquisser ne soient pas nécessaires. Je les mets ici parce que je les ai faites et qu'elles ont peut-être conduit à la solution finale.
J'étais également confronté à ce problème même je n'utilisais pas du tout les notifications Push dans mon application.Fabrication nouveau profil d'approvisionnement n'a pas fonctionné pour moi également. Ce que j'ai fait était: -
1.Créez un nouveau certificat pour le logiciel Ad hoc et App Store uniquement.
2.Puis création du profil de distribution avec ce certificat et intégration du profil dans Xcode.
Ensuite, la nouvelle construction soumise avec ce profil a été approuvée sans aucun avertissement.
vérifiez si votre identifiant d'application est Push activé ou non sur developer.Apple.com sur le portail de provisioning iOS Si ce n'est pas le cas, configurez votre certificat SSL Push pour votre identifiant d'application. Téléchargez-le, et réinstallez-le à nouveau dans votre trousseau puis Téléchargez votre profil de distribution installé dans votre bibliothèque Xcode
Dans mon cas, même j’ai créé un fichier myapp.profile et l’ai défini manuellement dans xcode. Lorsque j’ai choisi "Afficher dans le Finder" et que je trouvais le fichier embedded.mobileprovision et que je vérifiais que aps-environment existait toujours là.
Je suis ensuite allé au centre des développeurs et j'ai 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 de provisioning lorsque vous envoyez votre fichier binaire à stocker et vous assurer qu'il s'agit du bon. Et selon d’autres réponses, cela peut être causé pour diverses raisons, donc cela peut être vraiment ennuyant.
METTRE À JOUR:
Une fois que vous avez signé avec le profil téléchargé et confirmé que aps-environment
était présent lorsque vous essayez de soumettre à App Store
, vous devriez pouvoir modifier le profil et l'entité de signature de code en automatique et iOS Developer
. J'espère que cela pourra être amélioré dans Xcode 7.
Pour résoudre ceci pour une application expo 'éjectée', je suis allé à l'onglet des fonctionnalités, j'ai activé Push, puis à nouveau désactivé. Cela a supprimé le paramètre "autorisations" d'APNS du fichier .entitlements.
C'est ce qui a réglé le problème pour moi. (J'avais déjà essayé d'activer/de désactiver les fonctionnalités, de recréer le profil d'approvisionnement, etc.).
Dans l'onglet Build Settings, dans Code Signing Entitlements, mon fichier .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.
J'avais le même problème et ma solution consistait à ajouter le droit à notification Push de Target -> Capabilities.
Cela m'est arrivé soudainement parce que le profil de distribution de mon application avait expiré. Xcode a commencé à utiliser le profil générique, pour lequel le droit de notification Push n’était pas activé. Je n'ai reçu aucun avertissement. La solution était facile. Je devais simplement générer un autre profil de distribution pour mon application dans le centre des développeurs Apple, le télécharger et double-cliquer pour l'installer dans Xcode.
Il y a de très bonnes suggestions ici.
En vous référant à la dernière capture d'écran fournie par Mina, après avoir initialement archivé mon application, le profil de provisionnement mentionné lors du téléchargement contenait un caractère générique (XC. *). C'est faux.
Il a fallu déployer des efforts considérables pour résoudre ce problème. J'ai dû combiner les suggestions de Simon Woodside et Mina Fawzy.
Si vous avez des certificats et des profils de provisionnement existants liés à votre projet, le moment est venu 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 effectuée correctement, devrait prendre soin de vous en ligne.
Entrez la suggestion de Simon. Deux choses que je devais vérifier dans mon projet. En utilisant XCode, allez ici:
PROJET -> PARAMÈTRES DE CONSTRUCTION -> SIGNATURE DE CODE
Consultez les Identités de signature de code et Profil d'approvisionnement propriétés. Assurez-vous de définir ces deux propriétés sur celles de votre nom de projet. Ne laissez pas XCode se sélectionner automatiquement pour vous et n'utilisez pas une identité de signature de code générique (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é le Push Notification
à partir de Capabilities
et avoir refait tous les certificats est que le nom de la cible et le nom du dossier où était stocké, le projet était composé de 2 chaînes séparées par espace. Après avoir enlevé l'espace, tout a bien fonctionné!