504 Stimmen

Codesign-Fehler: Bereitstellungsprofil kann nicht gefunden werden, nachdem das abgelaufene Profil gelöscht wurde

Ich habe versucht, eine Anwendung wiederherzustellen, die noch gestern funktionierte. Ich bekam eine Meldung, dass ein Profil abgelaufen sei, also habe ich es vom iPod und aus iTunes entfernt. Wenn ich ein neues Profil auswähle (eines mit einem * in der Kennung), erhalte ich jetzt eine Fehlermeldung:

Codezeichen-Fehler: Provisioning Profile (langer String) kann nicht gefunden werden.

Was vermisse ich? Ich habe mir verwandte Fragen angesehen und dieses Szenario noch nicht gesehen.

859voto

Brad The App Guy Punkte 16245

Manchmal gerät Ihre Xcode-Projektdatei durcheinander, besonders wenn Sie ein altes Projekt haben und es mit einer älteren Version von Xcode/iPhone SDK erstellt haben.

Öffnen Sie die Projektdatei in einem Texteditor, suchen Sie nach der "langen Zeichenkette" aus Ihrem Fehler und löschen Sie diese Zeile manuell.

Tatsächlich sollten Sie einfach alle Zeilen löschen, die auf ein Bereitstellungsprofil verweisen. Dann öffnen Sie das Projekt erneut in Xcode, gehen Sie zu den Einstellungen und wählen Sie Ihr neues Profil erneut aus. Damit lassen sich solche Probleme meist beheben.

Die Zeilen, die auf die Bereitstellungsprofile verweisen, sehen wie folgt aus:

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

0 Stimmen

Vielen Dank für die Antwort. Ich bekam eine Fehlermeldung "Das Dokument konnte nicht geöffnet werden" beim Versuch, die .xcodeproj-Datei mit TextEdit zu öffnen (gerade neu gestartet und Xcode läuft nicht). Irgendeine Idee?

212 Stimmen

Die .xcodeproj-Datei ist eigentlich ein Verzeichnis, wie ein Anwendungspaket. Wenn Sie im Finder mit der rechten Maustaste darauf klicken, können Sie die Option Paketinhalt anzeigen wählen, und dann sehen Sie mehrere Dateien darin (oder im Terminal einfach mit cd in das Verzeichnis). Die eigentliche Projektdatei ist diejenige mit der Erweiterung .pbxproj. Wenn Sie sie mit einem Texteditor öffnen, sollten die Zeilen, nach denen Sie suchen, mit 'PROVISIONING_PROFILE = oder' '"PROVISIONING_PROFILE[sdk=iphoneos*]" =' beginnen. Löschen Sie alle diese Zeilen, dann sollte alles in Ordnung sein.

0 Stimmen

Brad Smith Ich habe versucht, meine Anwendung mit einem neuen Bereitstellungsprofil zu archivieren, und Xcode sucht nach alten Bereitstellungen. Ich habe versucht, was Sie gesagt und Arbeit

129voto

Ori Punkte 12720

Hier ist eine einfachere Lösung, die bei mir funktioniert hat und bei der die Projektdatei nicht manuell bearbeitet werden muss:

Erweitern Sie in Xcode im Bereich "Gruppen und Dateien" den Bereich "Ziele" und doppelklicken Sie auf das Ziel Ihrer Anwendung. Daraufhin wird der Infobereich für das Ziel angezeigt. Überprüfen Sie im Abschnitt "Build" den Abschnitt "Code Signing" auf alte Profile und ersetzen Sie sie durch das richtige.

Dies ist etwas anderes als ein Doppelklick auf Ihr Projektsymbol und die Änderung des Profils von dort aus. Ziemlich erstaunlich :)

Ori

1 Stimmen

Danke! Ich werde das nächste Mal, wenn es passiert, versuchen :)

6 Stimmen

Und stellen Sie sicher, dass Sie zuerst die richtige Build-Konfiguration auswählen :)

1 Stimmen

Das klappt nicht immer. Manchmal müssen Sie noch hineingehen und es manuell ändern, wie es in der ersten Antwort gezeigt wird.

77voto

user732414 Punkte 771
  1. Projekt&Zieleigenschaften -> "Kein Codezeichen" -> OK -> cmd+S(oder cmd+B);

  2. Projekt&Zieleigenschaften -> "Ihr Bereitstellungsprofil"-> OK

  3. Alles funktioniert wieder!

4 Stimmen

Dies ist die einzige Lösung, die bei mir funktioniert hat (mit XCode4). Der Aufbau der App mit "Don't Code Sign" ausgewählt war ein obligatorischer Schritt für mich.

0 Stimmen

Dies scheint eine bessere Lösung zu sein als die mit 200+ Bewertungen, da Xcode die Art und Weise, wie es seine Projektdatei schreibt, in Zukunft ändern könnte.

1 Stimmen

Dies ist die richtige Lösung, die für mich in Xcode 4.2 gearbeitet

11voto

matt Punkte 481428

Ich stimme mit Brads Antwort überein, dass Sie dieses Problem beheben können, indem Sie Ihr Ziel/Projekt von Hand bearbeiten und alle Zeilen wie diese löschen:

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

In Xcode 4.2 und höher gibt es jedoch eine viel einfachere Möglichkeit, auf diesen Text zuzugreifen und ihn auszuwählen und zu löschen. Wählen Sie im Projektnavigator auf der linken Seite Ihr Projekt aus (die oberste Zeile des Projektnavigators). Wählen Sie nun einfach Ansicht > Versionseditor > Versionseditor anzeigen. Dadurch wird Ihr Projekt als Text angezeigt, und Sie können direkt im Editorbereich von Xcode nach PROVISIONING suchen und die störende Zeile löschen.

0 Stimmen

Danach müssen Sie das Projekt nicht mehr schließen und öffnen. Besserer Ansatz :)

7voto

theevank Punkte 71

Ich habe gerade eine Variation dieses Themas gesehen: Ich ging in die project.pbxproj Datei wie pro Brad Smith's Notizen oben, außer in diesem Fall alle PROVISIONING_PROFILE Zeilen korrekt zu sein schien, ohne Vorkommen der "schlechte" Profil Zeichenfolge, die Xcode nicht finden konnte.

Die Lösung war jedoch dieselbe: Löschen ALLER PROVISIONING_PROFILE-Zeilen in project.pbxproj, auch wenn sie theoretisch "gut" aussahen, und dann das Projekt in Xcode erneut öffnen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X