erreur codesign: profil d'approvisionnement ne peut être trouvé après la suppression de profil a expiré

StackOverflow https://stackoverflow.com/questions/1760518

Question

J'ai essayé de reconstruire une application qui fonctionnait hier. Vous avez un message qu'un profil a expiré, donc je l'ai retiré de l'iPod et d'iTunes. Quand j'ai choisi un nouveau profil (une avec un * dans l'identifiant), je reçois maintenant une erreur:

  

Code de signe Erreur:. Profil d'approvisionnement (longue chaîne) ne peut pas être trouvé

Qu'est-ce que je manque? Je regardais à travers des questions connexes et n'a pas vu ce scénario déjà.

Était-ce utile?

La solution

Parfois, votre fichier projet Xcode se foiré, surtout si vous avez un projet ancien et d'abord créé avec une ancienne version de Xcode / iphone sdk. Ce que vous devez faire est d'ouvrir le fichier de projet dans un éditeur de texte, la recherche de la « longue chaîne » de votre erreur et effacer manuellement cette ligne. En fait, vous devriez juste aller de l'avant et d'effacer toute ligne qui pointe vers les profils de provisionnement. Rouvrez ensuite le projet dans Xcode, accédez aux paramètres et sélectionner de nouveau votre nouveau profil. Cela efface des questions comme la plupart du temps. Les lignes qui pointent vers les profils de provisionnement ressemblera à ceci:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

Autres conseils

Voici une solution simple qui a fonctionné pour moi et qui ne nécessite pas l'édition manuelle du fichier de projet:

Dans XCode, dans le volet « Groupes et des fichiers », développez des « cibles » et double-cliquez sur la cible de votre application. Ceci ouvre le volet d'informations pour la cible. Dans la section « Build », vérifiez la section « signature de code » pour tous les anciens profils et le remplacer par le bon.

Notez que ceci est différent de double-cliquant sur l'icône de votre projet et modifier le profil à partir de là. Tout à fait étonnant:)

Ori

  1. Projet et cibles Propriétés -> "Do not code Sign" -> OK -> cmd + S (ou cmd + B);
  2. Propriétés du projet et des objectifs -> "Votre profil Mise à disposition" -> OK

  3. Tout fonctionne à nouveau!

Je suis d'accord avec la réponse de Brad, que vous pouvez résoudre ce problème en modifiant votre cible / projet en main, en supprimant toutes les lignes comme ceci:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

Cependant, dans Xcode 4.2 et plus tard, il est un moyen d'accéder beaucoup plus facile ce texte et sélectionnez et supprimez-le. Dans le navigateur de projet sur la gauche, sélectionnez votre projet (la ligne supérieure du navigateur de projet). Maintenant, choisissez simplement Affichage> Editor Version> Afficher la version Editor. Cela affiche votre projet sous forme de texte, et vous pouvez rechercher et supprimer PROVISIONING la ligne problématique, là, dans le volet de l'éditeur de Xcode.

Je viens de voir une variation sur cette question: je suis entré dans le fichier project.pbxproj selon les notes de Brad Smith ci-dessus, sauf dans ce cas, toutes les lignes de PROVISIONING_PROFILE semblait être correct, sans occurrence de la chaîne de profil « mauvais » que XCode ne pouvait trouver.

Cependant, le correctif a été le même: La suppression de toutes les lignes de PROVISIONING_PROFILE dans project.pbxproj, même si elles avaient l'air « bien » en théorie, puis la réouverture du projet dans XCode

.

Pour la solution de Brad entièrement dans le Terminal, utilisez ces commandes

  1. cd [Xcode project parent]
  2. vi [Xcode project name].xcodeproj/project.pbxproj
  3. /[offending provisioning profile] [Enter]
  4. dd - supprimer la ligne
  5. Appuyez sur n jusqu'à plus sont trouvés
  6. Ctrl + x pour enregistrer et fermer

Dans mon cas, le problème a été résolu en ouvrant la fenêtre -> Organisateur, sélectionner mon appareil et enlever l'ancien profil de provisionnement sous le panneau « Provisioning » à droite. L'ancien était déjà marqué par un symbole rouge « x », mais l'iPhone utilisait encore.

En plus de ce profil, aussi le nouveau montrait vers le haut (avec le même nom) et après relançant simplement l'application que je l'avais bon fonctionnement.

Je viens de passer une heure ou faisant cela et avec l'aide de conseils de Brad et quelques autres changements tout a fonctionné.

Je l'ai fait en utilisant les éléments suivants:. 10.7.3, Xcode 4.3.2, iOS 5.1 BTW

1) Faites un clic droit sur votre myapp.xcodeproj et le contenu du paquet sélectionnez

2) project.pbxproj ouvert avec un éditeur de texte (ne recommande pas TextEdit car il peut bousiller la mise en forme)

3) Faites défiler tout le chemin vers le bas jusqu'à ce que vous trouvez /* Begin XCBuildConfiguration section */

4) Notez que vous avez un débogage et relâchez sections

5) Dans la section de libération jeter un oeil à CODE_SIGN_IDENTITY & "CODE_SIGN_IDENTITY[sdk=iphoneos*]" il devrait ressembler à ceci:

CODE_SIGN_IDENTITY = "iPhone Distribution: MyCompany LLC";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: MyCompany LLC";

6) Jetez un oeil à PROVISIONING_PROFILE et "PROVISIONING_PROFILE[sdk=iphoneos*]" ils devraient ressembler à ceci:

PROVISIONING_PROFILE = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";

Il doit correspondre à votre profil d'approvisionnement dans Xcode. Pour voir si elles correspondent Xcode open> Fenêtre> Agenda> Périphériques> Profils d'approvisionnement> Faites un clic droit sur le profil> dans le Finder> Le nom du .mobileprovision est votre identifiant de profil.

7) Faites défiler la project.pbxproj et trouver une deuxième instance de la section de libération. La deuxième instance de la section de libération doit se terminer par un commentaire disant /* End XCBuildConfiguration section */

8) faire en sorte que la deuxième section correspond à la première section de telle sorte que CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*] et PROVISIONING_PROFILE sont tous remplis.

Une suggestion que je vais faire puisque personne n'a encore dit: S'IL VOUS PLAÎT S'IL VOUS PLAÎT S'IL VOUS PLAÎT faire une sauvegarde de tout votre fichier .xcodeproj AVANT de commencer à modifier son contenu. Vissant le fichier de projet et ayant aucune sauvegarde conduira à une expérience très désagréable.

Etre capable de revenir en arrière d'une édition peut être un don du ciel.

Je viens rencontré ce problème dans mon XCode4. Réparer, vous devez mettre toutes les bonnes dispositions dans les deux Debug et configuration Release.

Je suis en train de soumettre (par archivage) mon application. Donc, je viens de changer les dispositions de débogage à « Do not code Connectez-vous », et la fourniture de sortie à la disposition de appstore de mon application.

Ce correctif et me permet d'archiver normalement. Hope qui aide.

Sélectionnez les lignes CodeSigning qui sont vides en aucun SDK iOS et sélectionnez le certificat de droit.

La solution de Brad Smith a travaillé pour moi, mais je devais aussi supprimer le champ de CODE_SIGN_IDENTITY pour le faire fonctionner.

Malheureusement, cette approche n'a pas fonctionné pour moi. Mais voici une solution qui a fonctionné pour moi (pour cela vous avez besoin de travailler un fichier de projet de travail sur Subversion ou si):

Je l'ai fait revenir à une version de travail de mon dossier de projet. Comme il est impossible de revenir avec Xcode ( Où ? est l'option 'Revert' dans Xcode 4 Source de contrôle ) - je Tortoise, ma machine Windows et ce tutoriel ( http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html ) pour revenir à un fichier de projet plus ancien.

Comme le tutoriel ne fonctionne pas pour moi, je viens d'utiliser la tortue pour sauver la révision de travail de mon dossier de projet sur une clé USB au port à mon mac. Après que je l'ai remplacé le nouveau fichier de projet rompu avec l'ancien travail un, nettoyé et cela a fonctionné comme un charme!

J'avais des problèmes parce que je mis à jour mon profil de provisionnement AdHoc avec quelques nouveaux appareils pour une utilisation sur TestFlight. En supposant qu'il ce qui se passe parce que Xcode a une ancienne référence à votre profil d'approvisionnement soit dans les paramètres de construction de CodeSigning pour le projet ou les objectifs. La façon dont je le mien fixé était de:

  1. Aller à la fois les paramètres de construction cible et les paramètres de construction du projet, sous le changement de signature de code tous les profils d'approvisionnement à autre chose.
  2. Aller aux périphériques de / des profils d'approvisionnement dans l'organiseur supprimer les profils incriminés, puis cliquez sur le bouton Actualiser en bas à droite.
  3. Retour à des paramètres cibles et construire des projets et définir vos profils d'approvisionnement au profil approprié (espérons-le) de provisionnement nouvellement rafraîchi.

Au moins dans Xcode 5, c'est la chose qui a résolu le problème pour moi:

Dans le profil de provisionnement, sélectionnez le profil de provisionnement incriminée puis sélectionnez un profil de provisionnement valide dans le menu déroulant.

entrer image description ici

Vous pouvez supprimer ancienne référence du fichier de provisionnement. Ensuite, après l'importation nouvelle approvisionnement profil et en sélectionnant constructeur Xcode.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top