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.

5voto

MechEngineer Punkte 1299

Um die Lösung von Brad vollständig im Terminal zu erreichen, verwenden Sie folgende Befehle

  1. cd [Xcode project parent]
  2. vi [Xcode project name].xcodeproj/project.pbxproj
  3. /[offending provisioning profile] [Enter]
  4. dd - die gesamte Zeile löschen
  5. Drücken Sie n, bis keine weiteren gefunden werden
  6. Strg+x zum Speichern und Schließen

4voto

stack-o-frankie Punkte 457

In meinem Fall wurde das Problem gelöst, indem ich Fenster -> Organizer öffnete, mein Gerät auswählte und das alte Bereitstellungsprofil unter dem Bereich "Bereitstellung" auf der rechten Seite entfernte. Das alte Profil war bereits mit einem roten "x"-Symbol markiert, aber das iPhone verwendete es immer noch.

Neben diesem Profil wurde auch das neue Profil (mit demselben Namen) angezeigt, und nachdem ich die Anwendung einfach neu gestartet hatte, lief sie reibungslos.

0 Stimmen

+1, manchmal konnte ich nicht installieren, weil ein abgelaufenes Profil - nicht einmal mit der gleichen Kennung! - auf meinem Gerät war.

0 Stimmen

Bei mir hat das funktioniert, aber ich musste auch XCode neu starten, damit es funktioniert.

4voto

bobbypage Punkte 2127

Ich habe gerade etwa eine Stunde damit verbracht, und mit Hilfe von Brads Ratschlägen und ein paar zusätzlichen Änderungen hat alles funktioniert.

Ich habe dies wie folgt getan: 10.7.3, Xcode 4.3.2, iOS 5.1 btw.

1) Klicken Sie mit der rechten Maustaste auf Ihr myapp.xcodeproj und wählen Sie den Verpackungsinhalt

2) offen project.pbxproj mit einem Texteditor (ich empfehle nicht Textedit, da es die Formatierung verfälschen kann)

3) Scrollen Sie ganz nach unten, bis Sie Folgendes finden /* Begin XCBuildConfiguration section */

4) Beachten Sie, dass Sie einen Debug- und einen Release-Abschnitt haben

5) Sehen Sie sich im Abschnitt "Freigabe" Folgendes an CODE_SIGN_IDENTITY & "CODE_SIGN_IDENTITY[sdk=iphoneos*]" sollte es in etwa so aussehen:

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

6) Werfen Sie einen Blick auf PROVISIONING_PROFILE y "PROVISIONING_PROFILE[sdk=iphoneos*]" sollten sie folgendermaßen aussehen:

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

Dies sollte Ihrem Bereitstellungsprofil in Xcode entsprechen. Um zu sehen, ob sie übereinstimmen, öffnen Sie Xcode > Fenster > Organizer > Geräte > Bereitstellungsprofile > Rechtsklick auf das Profil > Im Finder anzeigen > Der Dateiname der .mobileprovision ist Ihre Profil-ID.

7) Blättern Sie im Fenster project.pbxproj und finden Sie eine zweite Instanz des Freigabeabschnitts. Die zweite Instanz des Freigabeabschnitts sollte mit einem Kommentar enden, der lautet /* End XCBuildConfiguration section */

8) Achten Sie darauf, dass der zweite Abschnitt mit dem ersten übereinstimmt, so dass CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*] y PROVISIONING_PROFILE sind alle ausgefüllt.

2voto

Richard Brown Punkte 11219

Ein Vorschlag, den ich machen werde, da es noch niemand gesagt hat: BITTE BITTE BITTE BITTE erstellen Sie eine Sicherungskopie Ihrer gesamten .xcodeproj-Datei, BEVOR Sie beginnen, den Inhalt zu ändern. Wenn Sie die Projektdatei vermasseln und keine Sicherungskopie haben, wird das zu einer sehr unangenehmen Erfahrung führen.

Die Möglichkeit, eine Bearbeitung rückgängig zu machen, kann ein Geschenk des Himmels sein.

0 Stimmen

Ja, aus diesem Grund haben die SCM-Götter die Versionskontrolle geschaffen.

1voto

sunkencity Punkte 3452

Markieren Sie die leeren Zeilen im Codesigning unter Any iOS SDK und wählen Sie das richtige Zertifikat aus.

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