J'ai une application à soumettre lorsqu'elle a été rejetée et que j'ai reçu le message
Droit de notification push manquant - Votre application semble s'enregistrer auprès du service de notification push Apple, mais les droits de signature de l'application n'incluent pas le droit «aps-environnement». Si votre application utilise le service de notification push Apple, assurez-vous que votre ID d'application est activé pour la notification push dans le portail de provisionnement et soumettez à nouveau après avoir signé votre application avec un profil de provisionnement de distribution qui inclut le droit «aps-environnement».
J'ai vérifié mon provisiong ad-hoc et là j'ai trouvé aps-environnement et production cependant, quand j'ouvre mon provisioning de distribution, je ne trouve pas tel.
Est-ce la cause de ce message d'erreur et du rejet d'Apple, comment puis-je y remédier?
la source
assurez-vous que la notification push de votre identifiant est activée côté production
comme apparaissent dans l'image
depuis la section production, créez deux certificats avec votre identifiant (notification push activée)
App Store et certificat Ad Hoc
Certificat SSL (Sandbox) du service Apple Push Notification
Dans la section Distribution, créez un profil App Store avec votre identifiant
pendant que vous téléchargez votre corbeille, vous devez vérifier quel profil d'approvisionnement utilisé et disposer de nombreux droits
tous les cas causent ce problème j'espère que cela vous sera utile
la source
Dans XCode 8, vous devez activer le push dans l'onglet Capabilities sur votre cible, en plus de tout activer sur les dispositions et les certificats: Xcode 8 "le droit aps-environnement est absent de la signature de l'application" lors de la soumission
Mon article de blog à ce sujet ici .
la source
J'ai reçu ce message pour une raison différente: j'ai soumis une application via Xcode sans créer au préalable un profil de distribution App Store spécifiquement pour l'application. Je pense que Xcode utilise automatiquement un profil App Store générique si vous en avez un installé. Mais une application utilise 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 les paramètres de construction de votre projet> Signature de code> Libérer pour utiliser le nouveau profil.
la source
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 "Résoudre le problème". Bien sûr, vous devrez toujours configurer des notifications push dans le portail des développeurs Apple (vous pouvez simplifier un peu le processus en utilisant la nouvelle option "Gérer automatiquement la signature", qui vous évite d'avoir à télécharger les profils d'approvisionnement).
la source
Pour ceux qui rencontrent ce problème qui utilisent réellement les notifications push dans leurs applications:
Nos certificats push étaient récemment sur le point d'expirer, nous avons donc créé de nouveaux certificats push 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 à ce sujet partout sur le Web lors de la mise à jour vos certificats push pour une autre année d'utilisation).
Après cela, le problème de 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 de provisionnement de distribution dans le centre des membres Apple, tout avait l'air bien (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 littéralement de créer nouveaux certificats push pour une autre année, comme c'est la pratique courante).
Enfin, 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 y avoir des captures d'écran, j'essaierai de le mettre à jour avec des captures d'écran quand je le pourrai, mais pour le moment, je suis dans un manque de temps en ce moment et je voulais avoir le jist de ce que j'ai fait là-bas. Il y a aussi de fortes chances que certaines ou la plupart des étapes que j'ai décrites 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.
la source
Vérifiez que votre identifiant d'application est activé ou non sur developer.apple.com dans le portail d'approvisionnement 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 dans votre trousseau une fois de plus, puis téléchargez l'installation de votre profil de distribution dans votre bibliothèque Xcode
la source
J'étais également confronté à ce problème même si je n'utilisais pas du tout de notifications push dans mon application.La création d'un nouveau profil d'approvisionnement ne fonctionnait pas non plus pour moi.
1.Créez un nouveau certificat pour Ad hoc et App Store uniquement.
2.Ensuite, créez un profil de distribution avec ce certificat et intégrez le profil avec Xcode.
Ensuite, la version nouvellement soumise avec ce profil a été approuvée sans aucun avertissement.
la source
Dans mon cas, même j'ai créé un myapp.profile et l'ai défini manuellement dans xcode, et lorsque j'ai choisi "show in finder" et que j'ai localisé le fichier embedded.mobileprovision et vérifié pour m'assurer que l'environnement aps est là dans le fichier, l'erreur était toujours là.
Je suis ensuite allé au centre de développement et j'ai trouvé que le statut de XC: myapp.profile n'est pas valide. 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 binaire au stockage, et assurez-vous qu'il est le bon. Et selon d'autres réponses, cela 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é qu'il
aps-environment
était présent lorsque vous essayez de vous soumettre àApp Store
, vous devriez pouvoir changer le profil et l'entité de signature de code en automatique etiOS Developer
. J'espère qu'il pourra être amélioré dans Xcode 7.la source
C'est ce qui a résolu le problème pour moi. (J'avais déjà essayé d'activer / désactiver les fonctionnalités, de recréer le profil d'approvisionnement, etc.).
Dans l' onglet Paramètres de construction , dans Droits de signature de code , mon fichier .entitlements n'était pas lié à toutes les sections. Une fois que je l'ai ajouté à la section Any SDK, l'erreur a été résolue.
la source
Pour résoudre ce problème pour une application expo `` éjectée '', je suis allé dans l'onglet fonctionnalités, j'ai activé le push, puis je l'ai désactivé à nouveau. Cela a supprimé le paramètre «droits» APNS du fichier .entitlements.
la source
J'ai eu le même problème et ma solution était d'ajouter le droit de notification push de Target -> Capabilities.
la source
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 à la place, pour lequel le droit de notification push n'était pas activé. Je n'ai reçu aucun avertissement. La solution était facile; Je devais juste générer un autre profil de distribution pour mon application dans le centre des membres Apple Developer, le télécharger et double-cliquer pour l'installer dans Xcode.
la source
Il y a de très bonnes suggestions ici.
En référence à 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 des efforts considérables pour résoudre ce problème. J'ai dû effectuer une combinaison des suggestions fournies par Simon Woodside et Mina Fawzy.
Si vous disposez de certificats existants et de profils d'approvisionnement 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. L'exécution de la suggestion de Mina, si elle est 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
Vérifiez les propriétés de l' identité de signature de code et du profil d'approvisionnement . Assurez-vous de définir ces deux propriétés sur celles du nom de votre projet. N'autorisez pas XCode à 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 de l'archiver.
la source
Le plus gros problème que j'ai après avoir activé
Push Notification
fromCapabilities
et refait tous les certificats est que le nom de la cible et le nom du dossier où a été stocké le projet ont été composés de 2 chaînes séparées par un espace. Après avoir supprimé l'espace, tout fonctionnait très bien!la source
J'ai eu ce problème car mon fichier de droits était mal formé en raison d'une précédente édition manuelle. J'ai supprimé la syntaxe d'entrée de droit mal formatée, puis je pouvais cliquer sur "réparer" dans l'onglet des fonctionnalités et Xcode a ajouté le droit à mon fichier.
Voici un exemple de fichier de droits correctement formaté ("
Runner.entitlements
"):la source
FIX IDEA Hé les gars, j'ai donc créé une application et n'ai utilisé aucune fonction de notification push, mais j'ai toujours reçu un e-mail. Après avoir vérifié les certificats, les identifiants et les profils de l'identifiant du bundle que j'ai utilisé pour créer mon application dans l'Apple Store, connectez-vous au portail des développeurs Apple, j'ai réalisé que les notifications push étaient activées.
Ce que vous devez faire est:
allez sur le site de connexion des développeurs Apple où vous pouvez gérer vos certificats aso 2. sélectionnez l'onglet «Certificats, IDs and Profiles» sur le côté droit 3. maintenant sélectionnez «Identifiers» 4. et l'identifiant du bundle dans la liste de droite 5. maintenant faites défiler vers le bas jusqu'à ce que vous voyiez une notification push 6. désactivez-la 7. archivez votre build et remettez-la en ligne sur Apple Store Connect
J'espère que ça aide!
la source