it-swarm.com.de

Xcode 'CodeSign-Fehler: Codesignatur ist erforderlich'

Ich habe an einem iPhone-Projekt mit iOS 4.0 gearbeitet. Ich habe gerade Xcode 3.2.4 mit iOS SDK 4.1 heruntergeladen, damit ich mit dem aktualisierten iOS arbeiten kann. Beim Öffnen des Projekts im udpated Xcode habe ich festgestellt, dass das Ziel 'Base SDK Missing' lautete. Ich habe das behoben, indem ich die Anweisungen hier befolgt habe.

Wenn ich nun versuche, eine beliebige Version von iOS zu erstellen, erhalte ich diese Fehlermeldung (mit der entsprechenden Version, auf die im Fehlertext verwiesen wird):

CodeSign-Fehler: Für den Produkttyp 'Application' im SDK 'Device - iOS 4.1' ist eine Codesignatur erforderlich.

Ich habe das von Xcode erstellte Team-Provisioning-Profil installiert, dieses hat mein Zertifikat und das für die Codesignierung ausgewählte Entity ist "iPhone Developer: Aaron Milam".

Irgendwelche Ideen, was ich hier vermissen könnte?

41
Aaron

Dies geschieht, wenn Xcode Ihr Zertifikat nicht erkennt.

Es ist nur ein Schmerz im Arsch, es zu lösen, es gibt viele Möglichkeiten, um Ihnen zu helfen.

Aber das erste, was Sie versuchen sollten, ist das Entfernen der auf Ihrem Gerät befindlichen Bereitstellung im Register "Fenster" => Organizer. Fügen Sie sie dann erneut hinzu (laden Sie sie erneut von der Apple-Website herunter). Und versuche erneut zu kompilieren.

Haben Sie im Projekt-Info-Fenster übrigens die "Code-Signatur-Identität" geprüft?

Viel Glück.

41
Vinzius

Stellen Sie sicher, dass Sie in der Zeile " any iOS SDK " ein Codezeichen eingeben und nicht "Debug/Distribution/Release".

Genau das habe ich gemacht:

Code-Signaturidentität -> Kein Code-Zeichen
* Debug -> kein Code-Zeichen
** jedes iOS-SDK -> [mein Entwicklerprofil]
* Verteilung -> nicht codieren
** ein beliebiges iOS-SDK -> [mein AppStore-Profil]
* Freigeben -> kein Code-Zeichen
** ein beliebiges iOS-SDK -> [mein AdHoc-Profil]

Wenn ich meine Profile eine Stufe höher lege (bei Debug/Ditribution/Release), funktioniert es aus irgendeinem Grund nicht (Bug?).

Hoffe es hilft einigen von uns!

20
Gryzorz
  • Ich liebe Stack Overflow:

  • Mir wurde klar, dass es manchmal nicht genug ist, zu spezifisch zu sein, da wir möglicherweise eine andere Xcode-Version haben. Ich habe selbst zwei Xcode-Versionen auf demselben Mac Pro. Daher möchte ich hier eine allgemeine Anweisung geben, von der ich hoffe, dass sie für alle Xcode-Versionen geeignet ist:

  • Meine 2 Versionen sind xcode 3.2.6 und 4.0. Sie müssen (auch Google für die Einstellungen) Ihren xcode BUILD SETTINGS und seine CODE-SIGNIERUNG finden. Unter CODE SIGNING haben Sie CODE SIGN IDENTITY https://developer.Apple.com/ios/manage/overview/index.action - Befolgen Sie diese Anweisungen von Apple "Holen Sie sich Ihre Anwendung unter iOS mit dem Development Provisioning Assistant") Wenn Sie eine Liste mit Bezeichnern haben Wählen Sie einfach einen gültigen aus und führen Sie Ihren Xcode erneut aus. Es wird klappen!

  • 3.2.6 spezifisch: Klicken Sie in Ihrem Scode-Fenster auf Projekt -> Projekteinstellungen -> Erstellen (Registerkarte) -> es gibt einen Bildlauf nach unten, da die Liste lang ist. Stellen Sie sicher, dass Sie nach unten scrollen, um den Abschnitt CODE SIGNING zu finden

  • 4.0 spezifisch: Klicken Sie in Ihrem Xcode-Fenster auf Ihre Projektdatei ganz links in der Spalte -> klicken Sie dann auf die Ziel-App -> CODE SIGNING suchen und weisen Sie einen IDENTIFIER zu. Es sollte für dich funktionieren.

Erledigt!

7
dung

Wenn Sie davon ausgehen, dass alle Zertifikate ordnungsgemäß installiert sind, müssen Sie in den Einstellungen für das aktive Ziel nicht die Codesignaturidentität zusammen mit den Projekteinstellungen angeben. Ändern Sie diese in iPhone Developer (Xcode wählt abhängig von der Übereinstimmung der App-ID das richtige Profil aus).

  • Wechseln Sie in Xcode von Simulator zu Gerät (in der Dropdown-Liste oben im Xcode-Fenster), sodass das Ziel für die Anwendungsbereitstellung das Gerät ist.

  • Die Standard-ID, die eine Platzhalter-ID ist, ist wie ein Catch-All-iD, wenn sie in Code Signing zugeordnet wird (wenn Sie Beispieldateien zum Erstellen verwenden, werden sie offensichtlich keine com.coolapps.appfile-Importe haben. In diesem Fall ohne ' Team-Provisioning-Profil ", Ihr Build würde fehlschlagen. Sie sollten dies also in Ihrem festlegen

  • Xcode -> Projekt -> Projekteinstellungen bearbeiten -> Erstellen (Registerkarte) -> Code Signing Identity (Kopfzeile) -> Beliebiges iOS (Änderung von Beliebiger iOS - Simulator) -> (Wählen Sie als Wert "iPhone Developer" aus, und der Standardwert wird angezeigt Profil für die Bereitstellung von Wildcard-Entwicklungen (Team Provisioning Profile: *)

und auch (SEHR WICHTIG)

  • Xcode -> Projekt -> Aktives Ziel bearbeiten -> Erstellen (Registerkarte) -> Code Signing Identity (Kopfzeile) -> Beliebiges iOS (Änderung von Beliebiger iOS-Simulator) -> (Wählen Sie als Wert "iPhone Developer" aus, und der Standardwert lautet Profil für die Bereitstellung von Wildcard-Entwicklungen (Team Provisioning Profile: *)

Führen Sie die Schritte für einen Anfänger aus unter: http://codevelle.wordpress.com/2010/12/21/moving-from-ios-simulator-to-the-ios-device-mooth-without-code- Vorzeichenfehler/

6
SheshPai

Stellen Sie sicher, dass Sie die Bereitstellungsprofile ordnungsgemäß erstellt haben. Wenn dies der Fall ist, müssen Sie einen öffentlichen Schlüssel, einen privaten Schlüssel und ein Zertifikat im Schlüsselbundzugriff haben. 

XCode 3.2.4 wird mit der automatischen Gerätebereitstellung geliefert. Sie müssen sich also nur bei Ihrem Entwicklerkonto anmelden. Dort werden alle gültigen Profile heruntergeladen.

Wenn Sie alles haben, was Sie im Schlüsselbund und in heruntergeladenen Profilen benötigen ... Wenn Sie sich für iPhone Developer: Aaron Milam 'entscheiden. Vergewissern Sie sich, dass Sie in den Build-Einstellungen ... (.) oben Konfiguration (oben links in Target-> Build) ausgewählt haben, für die Sie Build erstellen möchten. Sie können jedoch All-Konfiguration vornehmen, um Änderungen in allen verfügbaren Konfigurationen vorzunehmen, z. B. Debuggen. Freigabe etc.

3
kthorat

Zusammengefasste Form einer Antwort auf Xcode schlägt mit "Code Signing" fehl. Fehler

project.pbxproj-Dateien können so zusammengefügt werden, dass zwei CODE_SIGN_IDENTITY-Zeilen eingefügt werden können. Durch das Löschen eines davon wird das Problem normalerweise behoben.

Ich habe ein einfaches Skript erstellt, um dieses Problem zu diagnostizieren. Dieses kann hier gefunden werden: https://Gist.github.com/4339226

Eine vollständige Antwort finden Sie hier .

2
rjstelling

Nachdem ich alle obigen Antworten ausprobiert hatte, und alles, was mir sonst aus Xcode 4.6 heraus einfiel, korrigierte ich dies mit den folgenden Schritten:

  1. Schließen Sie Xcode
  2. Klicken Sie mit der rechten Maustaste auf die .xcodeproj-Datei -> Paketinhalt anzeigen
  3. Bearbeiten Sie project.xcodeproj in einem Texteditor
  4. Suchen Sie nach "CODE_SIGN_IDENTITY" - es werden Zeilenpaare wie folgt angezeigt:
 CODE_SIGN_IDENTITY = "iPhone Developer: Joe Smith (555NN555)";
 "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "iPhone Developer: Joe Smith (555NN555)";

Ich habe 2 Ziele mit einem solchen Wert und 2 Ziele mit gefunden 

 CODE_SIGN_IDENTITY = "";
 "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "";

Ich habe das erste Zeilenpaar über das letzte Zeilenpaar für alle Fälle kopiert, in denen das letzte Paar leer war.

Ich habe dann Xcode neu gestartet und es funktioniert jetzt gut.

2
Rayfleck
  1. Füllen Sie " Code Signing " in den Abschnitten " Project " und " Targets " aus
  2. Wählen Sie in " Debug " und " Release " gültige Einträge in " Code Signing Identity " aus.
  3. Wählen Sie unter " Debug " Ihr Entwickler Zertifikat aus
  4. Wählen Sie unter " Release " Ihr Distributor - Zertifikat aus

Wenn Sie diese 4 Schritte ausführen, werden meine Probleme immer gelöst. 

2
Tibidabo

Eine andere Möglichkeit - Stellen Sie beim Erstellen für das Archiv sicher, dass die Archivauswahl in Ihrem Schema auf Verteilung festgelegt ist und nicht auf Freigeben.

Gehen Sie zu Produkt -> Bearbeitungsschema. Es erscheint ein neuer Dialog.

Wählen Sie links Archiv aus. Stellen Sie sicher, dass die Build-Konfiguration Distribution ist. 

1
Jim Schrempp

Wie bereits erwähnt, wenn Sie Ihre Anwendung nicht mit einem Code signieren möchten, können Sie CODE_SIGNING_REQUIRED auf NO setzen. Hier ist eine Methode, um dies ohne Projekt/Dateien zu tun Änderung:

Datei erstellen NoCodeSign.xcconfig :

CODE_SIGNING_REQUIRED = NO

Setzen Sie die Umgebungsvariable XCODE_XCCONFIG_FILE auf den Pfad zu dieser Datei:

export XCODE_CXCONFIG_FILE=/path/to/NoCodeSign.xcconfig

Jetzt können Sie Ihre Anwendung ohne Codesignatur erstellen.

1
user2288008

Ich verwende Xcode 4.3.2 und mein Problem war, dass sich dort ein Ordner in einem anderen Ordner mit demselben Namen befand, z. B. meinOrdner/meinOrdner /.

Die Lösung bestand darin, den Namen des zweiten Ordners zu ändern, z. B. myFolder/_myFolder, und das Problem wurde gelöst.

Ich hoffe, das kann jemandem helfen.

0
marcos1490

In der Datei /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist

Ändern Sie das CODE_SIGNING_REQUIRED YES

zu

CODE_SIGNING_REQUIRED NO

Starten Sie Xcode neu

0
Jim Huang

Haben Sie die Firmware-Version des iPhone, auf dem Sie testen, aktualisiert? 

0
gnuchu

In meinem Fall hat das Sperren und Entsperren von login-keychain von Keychain Access den Trick  enter image description here

0
Awais Nasir

Möglicherweise sind Datum und Uhrzeit Ihres Mac nicht korrekt. Korrigiere sie einfach.

0
nminhtai