webentwicklung-frage-antwort-db.com.de

Xcode schlägt mit Fehler "Code Signing" fehl

Alternative Titel

(zur Suche)

  • Xcode 'CodeSign-Fehler: Codesignatur ist erforderlich'
  • Xcode: Fehler beim iPhone-App-Code
  • / usr/bin/codesign mit Exitcode 1 fehlgeschlagen
  • Jenkins schlägt mit Code Sign Error fehl
  • Befehlszeilenaufbau schlägt mit "Bereitstellungsprofile nicht gefunden" fehl
  • Die Archivierung des Xcode-Projekts schlägt mit dem Bereitstellungsfehler fehl
  • Fehlende Signaturzertifikate in Xcode

Symptome

Das Problem manifestiert sich auf verschiedene Weise:

  • Wenn Sie Ihre App auf einem Gerät ausführen, führt dies zu einem Fehler, der auf "Codesignierung" oder "abgelaufene Signaturzertifikate" verweist.
  • Das Erstellen über die Befehlszeile (oder Verwendung eines fortlaufenden Integrationssystems wie Jenkins ) schlägt mit einem Fehler wie dem folgenden fehl:

    Check dependencies
    Code Sign error: No unexpired provisioning profiles found that contain any of the keychain's signing certificates
    
  • Die Archivierung einer App schlägt mit "Codesignierung" oder "Abgelaufenen Signaturzertifikaten" fehl, bei denen ein Lauf oder Build ordnungsgemäß funktioniert.

Oft kann das Projekt mehrere Konfigurationen haben und manchmal schlägt nur eine Teilmenge fehl. Das Löschen und erneute Erstellen von Bereitstellungsprofilen hat keine Auswirkungen.

17
rjstelling

CODE_SIGN_IDENTITY Überprüfungsskript.

In Setups, die die Versionskontrolle verwenden, kann der project.pbxproj oft so zusammengefügt werden, dass zwei CODE_SIGN_IDENTITY-Zeilen eingefügt werden können. Dies scheint Xcode-Probleme in bestimmten Situationen (z. B. Befehlszeilen-Builds oder Archivierung) zu verursachen. 

Ein Tell-Tail-Zeichen besteht aus ähnlichen Zeilen in der project.pbxproj-Datei (klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie "Paketinhalt anzeigen ...").

"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_IDENTITY = "iPhone Distribution";

Wenn Sie eine dieser Zeilen löschen, können Sie den korrekten Wert in den Build-Einstellungen auswählen. Das Projekt sollte nun wieder korrekt erstellt werden.

Ich habe ein einfaches Skript erstellt, um dieses Problem zu diagnostizieren. Es kann hier gefunden werden: https://github.com/rjstelling/Xcode-Project-Validate

30
rjstelling

Ich habe diesen Code-Zeichenfehler bei einem Open Source Github-Projekt erhalten, das ich nur auf meinem eigenen Gerät (nicht im Laden oder irgendetwas) wollte, und ich habe kein kostenpflichtiges Mitgliedskonto.

In diesem Fall ist es mittlerweile (seit XCode 7) möglich, Ihre App als unsigniert, aber als vertrauenswürdig zu konfigurieren.

Alles wird hier erklärt: https://stackoverflow.com/a/4952845/828184

1
CodingYourLife