84 votes

non valide ' aps-environnement ' droit chaîne trouvée pour application

Je suis en train de configurer mon application à l'appui de notification push, mais reçois cette erreur: Impossible d'obtenir un jeton, d'erreur: Erreur de Domaine=NSCocoaErrorDomain Code=3000 "non valides" aps-environnement "droit de chaîne est trouvée pour une application" UserInfo=0x1f818fc0 {NSLocalizedDescription=non valide 'aps-environnement" droit de chaîne trouvé pour application}

  • Je n'ai activer mon app en charge les notifications push (seulement pour le développement à ce point).
  • Je n'ai créer le profil de configuration APRÈS avoir activé les notifications push.
  • Mon identifiant de lot est le même que celui qui figure dans le profil.
  • Dans mon fichier de profil il y a une chaîne de caractères: aps-environnement
  • J'ai fait en sorte que, dans les deux projet et de la cible sous "signature de Code d'identité de la section" TOUTES les valeurs sont sélectionnées pour mon profil de configuration.

Plus d'idées? Merci.

64voto

Drew Points 950

Dans mon cas, les trucs dans mon profil de configuration:

security cms -D -i ~/Downloads/spolskyDevelop.mobileprovision 
...
<key>application-identifier</key>
<string>P5GM95Q9VV.com.dca.spolsky</string>
<key>aps-environment</key>
<string>development</string>

Était différente de celle de la substance dans l'application qui a été effectivement construit (vous pouvez trouver d'où il est construit en regardant Xcode l'onglet Journaux)

codesign -d --entitlements - '/Users/drew/Library/Developer/Xcode/DerivedData/spolsky-bdbtdfjeeywhqzccpmmceqvnhgtm/Build/Products/Debug-iphoneos/spolsky-ios.app'
<dict>
    <key>application-identifier</key>
    <string>Y2X6Z7Z2GR.com.dca.spolsky-ios</string>
    <key>get-task-allow</key>
    <true/>
    <key>keychain-access-groups</key>
    <array>
        <string>Y2X6Z7Z2GR.com.dca.spolsky-ios</string>
    </array>
</dict>

Cela était vrai même si la "Actuellement, les Matchs de" conseil en vertu de la Signature du Code de l'Identité indiquant le bon profil de configuration--bizarre, hein? Pour faire une étrange histoire encore plus bizarre, le bon profil de configuration est en cours d'installation sur l'appareil quand j'ai couru, (Réglages->Général->Profils) m'a conduit à croire que le profil de configuration a été de droit -, mais c'était de revenir à un générique d'identité lors de l'application a été réellement lancé.

L'idée de faire la différence dans la sortie de ces deux commandes:

Y2X6Z7Z2GR.com.dca.spolsky-ios vs P5GM95Q9VV.com.dca.spolsky

Quand j'ai fait la partie en gras de match, la partie en italique été modifié afin de correspondre automatiquement. En outre, la sortie de sécurité et de codesign étaient d'accord, et pas plus aps-le droit à l'erreur.

Ma conjecture est ici que XCode a l'aide d'un générique de style match sur mon non générique ID. ("spolsky" est, après tout, très près "spolsky-ios"), et c'est ce qui explique la "Actuellement, les Matchs de sortie". Mais quelque chose dans la construction de la chaîne est plus stricte à ce sujet, de sorte qu'elle retombe à une réelle générique ID lors de la compilation.

37voto

Raptor Points 16051

Le problème est dû à courant Provisioning profil ne contient pas de renseignements de NPP, comme le profil de provisionnement est créé avant la création du certificat de NPP.

Par conséquent, pour résoudre le problème, créez un nouveau profil de Provisioning & dans Xcode, sélectionnez le profil de Provisioning efface l’erreur.

9voto

9000 Points 497

Sachez que l’identifiant de paquet doit correspondre le provisionnement Profil dans une casse manière. J’ai eu quelque chose comme com. FirstLast.appname quand il aurait dû être com.firstlast.appname. Eh bien, qui m’a occupé pendant un certain temps.

9voto

jasonpurdy Points 86

J’ai eu cette erreur et n’a pas créé un nouveau profil de provisionnement ; créé un nouveau et ensuite dû redémarrer xCode, mais fonctionne maintenant !

2voto

KevinH Points 436

J'ai couru dans ce dans ce qui est peut-être une non-utilisation fréquente de cas. Je travaille avec Xcode 6 et iOS 8. J'ai été la création d'une série entièrement nouvelle application de projets, et d'essayer de ré-utiliser le même ID de l'offre, afin de ne pas avoir besoin de passer par toutes les portail du côté de nouveau le programme d'installation. C'était juste pour le sandbox de l'essai.

Je trouve que, bien que la configuration et l'enregistrement beau travail pour la première application, si j'ai supprimé l'application depuis le terminal, définissez le même ID de lot pour la deuxième application, et a ensuite tenté de s'inscrire PNs avec cette application, j'obtiens cette erreur.

Ma solution a été de:

  1. Supprimer les associés de profil de configuration de l'appareil.
  2. Supprimer les associés de profil de configuration à partir de Xcode.
  3. Près De Xcode
  4. Double-cliquez sur mon téléchargé .mobileprovision le fichier pour l'installer de nouveau dans Xcode
  5. Ouvrez le projet et de le déployer.

Cette approche semble pot lâche quel que soit l'état précédent était là, et je suis en mesure de vous inscrire pour les unités de raccordement avec la nouvelle application et / ou même ID de lot.

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