Question Erreur Codesign: Le profil d'approvisionnement ne peut pas être trouvé après la suppression du profil expiré


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

Code Sign Error: Provisioning Profile (long string) can't be found.

Qu'est-ce que je rate? J'ai regardé à travers des questions connexes et n'ai pas vu ce scénario déjà.


492
2017-11-19 02:28


origine


Réponses:


Parfois, votre fichier de projet xcode est endommagé, surtout si vous avez un ancien projet et que vous l'avez 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, de rechercher la chaîne longue de votre erreur et d’effacer manuellement cette ligne. En fait, vous devriez simplement aller de l'avant et effacer toute ligne qui pointe vers des profils d'approvisionnement. Puis rouvrez le projet dans xcode, allez dans les paramètres et resélectionnez votre nouveau profil. Cela élimine des problèmes comme ça la plupart du temps. Les lignes qui pointent vers les profils d'approvisionnement ressembleront à ceci:

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

852
2017-11-19 03:39



Voici une solution plus 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 fichiers", développez "Cibles" et double-cliquez sur la cible de votre application. Cela affiche le volet Info pour la cible. Dans la section "Build", vérifiez la section "signature du code" pour tous les anciens profils et remplacez-le par le bon.

Notez que cela est différent de double-cliquer sur l'icône de votre projet et de changer le profil à partir de là. Assez incroyable :)

Ou Je


129
2018-06-07 09:22



  1. Propriétés du projet et des cibles -> "Ne codez pas le signe" -> OK -> cmd + S (ou cmd + B);
  2. Propriétés du projet et des cibles -> "Votre profil de provision" -> OK

  3. Tout fonctionne à nouveau!


76
2018-05-18 21:58



Je suis d'accord avec la réponse de Brad, que vous pouvez résoudre ce problème en éditant votre cible / projet à la 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 versions ultérieures, il existe un moyen beaucoup plus simple d'accéder à ce texte et de le sélectionner et de le supprimer. Dans le navigateur de projet sur la gauche, sélectionnez votre projet (la ligne la plus haute du navigateur de projet). Maintenant, choisissez simplement Affichage> Editeur de version> Afficher l'éditeur de version. Cela affiche votre projet sous forme de texte et vous pouvez rechercher PROVISIONING et supprimer la ligne problématique, directement dans le volet de l'éditeur de Xcode.


10
2017-11-23 17:34



Je viens juste de voir une variante de ce problème: je suis allé dans le fichier project.pbxproj selon les notes de Brad Smith ci-dessus, sauf que dans ce cas, toutes les lignes PROVISIONING_PROFILE semblaient correctes, sans que la chaîne de profil ne trouve pas.

Cependant, le correctif était le même: supprimer toutes les lignes PROVISIONING_PROFILE dans project.pbxproj, même si elles semblaient "bonnes" en théorie, puis rouvrir le projet dans XCode.


6
2018-05-04 03:24



Pour réaliser la solution de Brad entièrement dans 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 entière
  5. Appuyez sur n jusqu'à ce qu'il n'y en ait plus
  6. Ctrl + x pour enregistrer et fermer

4
2018-04-17 18:48



Dans mon cas, le problème a été résolu en ouvrant Window -> Organizer, en sélectionnant mon appareil et en supprimant l'ancien profil d'approvisionnement dans le panneau "Provisioning" à droite. L'ancien était déjà marqué d'un symbole "x" rouge mais l'iPhone l'utilisait toujours.

En plus de ce profil, le nouveau apparaissait (avec le même nom) et après avoir simplement relancé l'application, je l'ai fait fonctionner sans problème.


3
2017-11-10 12:01



Je viens de passer une heure à faire cela et avec l'aide de l'avis de Brad et quelques changements supplémentaires tout a fonctionné.

Je l'ai fait en utilisant ce qui suit: 10.7.3, Xcode 4.3.2, iOS 5.1 btw.

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

2) ouvert project.pbxproj avec un éditeur de texte (ne recommandez pas textedit car il risque de gâcher le formatage)

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

4) Notez que vous disposez d'une section de débogage et de libération

5) Dans la section release, jetez un oeil à CODE_SIGN_IDENTITY & "CODE_SIGN_IDENTITY[sdk=iphoneos*]" Ça devrait ressembler a quelque chose comme ca:

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";

Cela doit correspondre à votre profil d'approvisionnement dans Xcode. Pour voir si elles correspondent, ouvrez Xcode> Fenêtre> Organiseur> Périphériques> Profils de provisionnement> Cliquez avec le bouton droit de la souris sur le profil> Révéler dans le Finder> Le nom de fichier de la .mobileprovision est votre identifiant de profil.

7) Faites défiler la project.pbxproj et trouvez une seconde instance de la section release. La seconde instance de la section release doit se terminer par un commentaire /* End XCBuildConfiguration section */

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


3
2018-04-14 09:01



Une suggestion que je ferai puisque personne ne l’a encore dit: VEUILLEZ SVP VEUILLEZ faire une sauvegarde de l’ensemble de votre fichier .xcodeproj AVANT de commencer à modifier son contenu. Visser le fichier projet et ne pas avoir de sauvegarde conduira à une expérience très très désagréable.

Pouvoir se retirer d'un montage peut être une aubaine.


2
2017-08-17 17:39



Je viens de rencontrer ce problème dans mon XCode4. Réparer, vous devez mettre toutes les dispositions correctes dans les deux config Debug et Release.

J'essayais de soumettre (en archivant) mon application. Donc, je viens de changer les dispositions de débogage à "Do not Code Sign", et la disposition de sortie à la disposition appstore de mon application.

Cela le corrige et me permet d'archiver normalement. J'espère que cela pourra aider.


1
2017-08-19 00:42



Sélectionnez les lignes de codesigning qui sont vides sous Any iOS SDK et sélectionnez le bon certificat.


1
2017-11-18 15:12