Wie mache ich mich mit Code Signing-Problemen vertraut?

Jedes Mal, wenn ich mich mit Codesignatur- und Bereitstellungsprofilen befasse, passieren seltsame Dinge. In den meisten Fällen erhalte ich die Fehlermeldung "Keine Code-Signatur-Identität gefunden" und, falls nicht, die Fehlermeldung "Keine übereinstimmenden Bereitstellungsprofile gefunden" und "Keine Bereitstellungsprofile mit gültiger Signatur-Identität".

Obwohl ich mit der Theorie und den Dingen vertraut bin, die sich in Bezug auf das Signieren und Bereitstellen von Code ergeben, gibt es immer noch viele Fallstricke, auf die ich jedes Mal gestoßen bin, und ich weiß nicht, wie ich damit umgehen soll. Manchmal schlägt es beim Einrichten einer neuen App fehl, manchmal nicht.

Es gibt 5 * 2 verschiedene Möglichkeiten, die Code-Signatur-Identität auszuwählen. Was ist der Unterschied zwischen ihnen? Und wenn ich einen für das Debuggen und einen für die Veröffentlichung auswähle, was ist der Grund für das "Beliebiges iOS-SDK"?

Auch gibt es zwei Stellen, an denen dieser Dialog angezeigt wird: Projekteinstellungen -> Buildeinstellungen ist die erste Stelle und auch für das Ziel unter Buildeinstellungen. Beide sind nicht synchron. Wenn ich also die Codesignatur an erster Stelle ändere, muss ich sie an zweiter Stelle zweimal ändern. Gibt es eine Möglichkeit, sie synchron zu halten?

Welche Code-Signatur-Identität passt am besten in die verschiedenen Zeilen (Debug, Debug -> jedes iOS-SDK, Release, Release -> jedes iOS-SDK), da ich zwischen Entwickler- und Distributionsidentitäten wählen kann (ich könnte mir vorstellen, dass die Distribution Einer ist für die Veröffentlichung und der Entwickler für das Debuggen, aber da alles fehlschlägt, weiß ich es nicht.

Was ich getan habe

Es gibt ein gültiges Zertifikat im Member Center, das für jeden Entwickler unseres Teams hinterlegt ist, und eines für die Ad-hoc-Verteilung für das Team. Wir haben auch AppIDs erstellt, die genau die gleiche Einstellung in den Projekteinstellungen widerspiegeln. Dazwischen vermeiden wir die Verwendung von Variablen und verwenden die genaue Appid auch in Projekteinstellungen, um Risiken auf dieser Seite zu reduzieren und die Dinge zu vereinfachen.

Wenn Sie das Bereitstellungsprofil von "Automatisch" auf ein bestimmtes Profil für diese App umschalten, ändern sich die Codesignatur-Identitäten in verschiedene Werte, die auch nicht zwischen den Projekteinstellungen und den Zielerstellungseinstellungen synchronisiert sind:

nter Target-> Build Settings erhalten wir folgendes Ergebnis:

Auf dem Projekt -> Build Settings erhalten wir ein anderes Ergebnis:

Welche wäre genauer? Nach "Produkt" -> "Archiv" -> "Validieren" erhalten wir folgenden Fehler:

Es spielt hier keine Rolle, ob wir unterschiedliche Codesignatur-Identitäten auswählen oder nicht. Eigentlich haben wir, nur um "trail-and-error" zu spielen, fast alle mehrere Kombinationen von Codesignatur-Identitäten ausprobiert, um zu erfahren, was XCode dann tun würde.

Nach dieser Fehlermeldung von Archive-> Validate wird das zuvor ausgewählte Bereitstellungsprofil durch ein anderes ersetzt, das durch eine zufällig generierte Zeichenfolge benannt ist:

Wer kann mir sagen, was hier passiert und wie man diese Probleme löst?

Ich habe viele Dokumente zu diesem Thema gelesen. Die meisten Tutorials zu diesem Thema sind jedoch veraltet, da verschiedene Änderungen zwischen XCode 4 und XCode 6 vorgenommen wurden. Selbst die Apple-Dokumente bieten meist Screenshots, die auf veralteten XCode-Versionen und veralteten Versionen von Member Developer Center basieren.

Aktualisiere

Als Ian McDonald richtig darauf hingewiesen hat, ist die letzte Frage (abgedeckt durch die letzten 2 Screenshots) beantwortet. Nach der Neuerstellung des Bereitstellungsprofils wird es nicht durch zufällig generierte Zeichenfolgen ersetzt, aber die IPA-Erstellung funktioniert immer noch nicht mit "Keine Codesignatur-Identitäten gefunden".

Wie sieht es jetzt aus:

Antworten auf die Frage(4)

Ihre Antwort auf die Frage