(zur Suche)
Das Problem manifestiert sich auf verschiedene Weise:
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.
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
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