Problembehandlung für iOS-Build

Wichtig

Visual Studio App Center wird am 31. März 2025 eingestellt. Sie können Visual Studio App Center zwar weiterhin verwenden, bis es vollständig eingestellt ist, es gibt jedoch mehrere empfohlene Alternativen, zu denen Sie möglicherweise eine Migration in Erwägung ziehen.

Erfahren Sie mehr über Supportzeitpläne und Alternativen.

Es wurde kein Xcode-Schema gefunden.

Das Erstellen eines xcworkspace oder eines xcproject erfordert ein freigegebenes Xcode-Schema. Xcode-Schemas werden lokal gespeichert, damit Xcode darauf zugreifen kann. Standardmäßig werden Schemas nicht für andere freigegeben oder in die Quellcodeverwaltung eingeschlossen.

Führen Sie die folgenden Schritte aus, um ein Schema in Xcode freizugeben:

  1. Wählen Sie Produktschema >> Schema verwalten aus.
  2. Legen Sie das Schema für Ihren xcproject/xcworkspace als freigegeben fest.
  3. Der Container des Schemas muss auf das Xcode-Projekt oder den Xcode-Arbeitsbereich festgelegt werden, den Sie erstellen möchten.
  4. Fügen Sie die Datei zur .xcscheme Quellcodeverwaltung hinzu, und werden Sie an Ihre Remoterepository gepusht, damit App Center darauf zugreifen kann.

Schema als freigegeben markieren

Warnung

Stellen Sie sicher, dass sich Ihr xcshareddata/xcschemes/ Ordner nicht in Ihrer .gitignore Datei befindet. Hier werden die .xcscheme Dateien von Xcode gespeichert. App Center verwendet diese Dateien, um das Projekt ordnungsgemäß zu erstellen. Das einfache Exportieren von .xcscheme in einen anderen Ordner funktioniert nicht.

Meine iOS-Builds schlagen mit "clang: error: linker command failed with exit code 1" fehl.

Der Fehler kann durch das Erstellen von App Center mit dem xcodeproj anstelle des Arbeitsbereichs verursacht werden. Wenn Sie Ihrem Projekt CocoaPods hinzufügen, wechseln Sie zum Verwenden des Arbeitsbereichs, wenn Sie in App Center erstellen.

Indikator: Suchen Sie in Ihrem Buildprotokoll nach dieser Zeile:

ld: library not found for -lPods-GarageController
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** ARCHIVE FAILED **

Um diesen Fehler zu beheben, öffnen Sie die Buildkonfiguration Ihres Projekts, und klicken Sie auf Speichern. App Center wählt den Arbeitsbereich für zukünftige Builds automatisch richtig aus.

Probleme mit der iOS-Signatur erklärt

Hinweis

Signaturidentitäten, die Nicht-ASCII-Zeichen verwenden, werden in Build nicht unterstützt.

Der Umgang mit Bereitstellungsprofilen und Zertifikaten kann ein schwieriger Prozess sein. Die folgenden Tipps sollten Ihnen helfen, Ihre iOS-Apps erfolgreich zu signieren:

  1. Speichern Sie die Buildkonfiguration in App Center, nachdem Sie Die Signaturänderungen an Ihr Projekt gepusht haben. In App Center speichert die Buildkonfiguration eines beliebigen Branchs zwei Werte Ihres Xcode-Projekts: und CODE_SIGN_STYLEDEVELOPMENT_TEAM (in der project.pbxproj Datei in Ihrem .xcodeproj Ordner festgelegt). Wenn Sie zwischen manueller und automatischer Signatur wechseln oder das Entwicklungsteam wechseln, stellen Sie sicher, dass Sie die Buildkonfiguration nach dem Pushen der Änderungen im App Center speichern. Wenn Sie nach dem Pushen nicht speichern, schlägt Ihr Build möglicherweise mit einem Signaturfehler fehl.

  2. Ziehen Sie das richtige Bereitstellungsprofil, wenn Sie die automatische Signatur verwenden. Klicken Sie in Xcode auf der Registerkarte Allgemein ihres Ziels unter Signatur auf das Infosymbol neben Xcode Managed Profile. Anschließend wird ein Popover mit Profilinformationen angezeigt. Klicken Sie, und ziehen Sie das PROV-Symbol oben links an die gewünschte Position (wie unten dargestellt).

  3. Notieren Sie sich die derzeit von App Center unterstützten Optionen, wenn Sie die manuelle und automatische Signatur verwenden. App Center unterstützt vollständig die manuelle iOS-App-Signatur, sodass Sie jeden Profil- oder Zertifikattyp verwenden können. Überprüfen Sie, ob das Bereitstellungsprofil und das Zertifikat, das Sie in App Center hochladen, mit den in Ihrem Projekt angegebenen Übereinstimmen. Wenn Sie Automatische Signaturverwaltung in Xcode aktiviert haben, unterstützt App Center die App-Signatur mit Entwicklerzertifikaten und -profilen (nicht mit Verteilung). Beim Hochladen in App Center müssen Sie das automatisch generierte Bereitstellungsprofil von Xcode verwenden.

Gibt es immer noch Probleme?

Um Probleme zu beheben und die Registrierung und Ausführung des Builds zu erhalten, empfehlen wir die folgenden Schritte:

  1. Richten Sie die manuelle Anmeldung in Ihrem Xcode-Projekt ein, und stellen Sie sicher, dass es lokal funktioniert.
  2. Sobald dies überprüft wurde, commiten Und pushen Sie die Änderungen an Ihr Repository.
  3. Bereiten Sie das im Xcode-Ziel ausgewählte Bereitstellungsprofil und zertifikat vor, und laden Sie sie in die App Center-Buildkonfiguration hoch.
  4. Am wichtigsten: Stellen Sie sicher, dass Sie den neuesten Status Ihres Projekts pushen, bevor Sie das neue Zertifikat und profil in der Buildkonfiguration speichern.

Wo befindet sich meine IPA-Datei?

Xcodebuild lässt im Gegensatz zu xcrun das Generieren einer .ipa Datei nicht zu, wenn der Build nicht signiert ist. Nicht signierte Builds erzeugen stattdessen ein .xcarchive . Wenn Sie eine .ipa Datei mit den Artefakten eines nicht signierten Builds generieren möchten, können Sie dazu die .xcarchive Datei verwenden.

Exportieren einer xcarchive-Datei mit xcode

Meine iOS-App mit Xcode schlägt mit ungültigem Bitcodeversionsfehler fehl.

Wenn Ihre Builds mit error: Invalid bitcode version (Producer: '802.0.38.0_0' Reader: '800.0.42.1_0')fehlschlagen, verwenden Sie eine Bibliothek oder einen Pod, die von einer neueren Version von Xcode als Ihr Projekt erstellt wurde. Sie können entweder Ihr Projekt und die Buildkonfiguration im App Center aktualisieren, um eine neuere Version von Xcode zu verwenden, oder zu einer alternativen Version der problematischen Bibliothek wechseln, die mit einer übereinstimmenden Version von Xcode kompiliert wird.

Meine iOS-App kann keinen Test ausführen

Ein häufiger Grund für fehlschlagende Tests ist, dass die Linkerbefehle auf einen Fehler ähnlich dem folgenden stoßen:

 ld: directory not found for option iPhoneSimulator10.3.sdk/Developer/Library/Frameworks 
  ❌ ld: embedded dylibs/frameworks are only supported on iOS 8.0 and later (@rpath/XCTest.framework/XCTest) for architecture x86_64 
  ❌ clang: error: linker command failed with exit code 1 (use -v to see invocation)  

Die wahrscheinliche Ursache für diesen Fehler ist, dass der Verknüpfungstyp von Apple Mach-O Linker nicht auf statische Bibliothek festgelegt ist. Um Ihre App erfolgreich zu erstellen und zu testen, stellen Sie sicher, dass der Verknüpfungstyp von Apple Mach-O Linker in Ihrem Testziel auf statische Bibliothek festgelegt ist.

Apple Mach-O Linker

Meine iOS-Builds mit CocoaPods unter Xcode 9 sind immer wieder fehlerhaft. Was soll ich tun?

Dies liegt möglicherweise daran, dass sich die Signaturkonfiguration in Ihrem Pods-Projekt von der Konfiguration in Ihrem Hauptprojekt unterscheidet. Sind Ihre Pods in Ihrem Repository eingecheckt? Wenn ja, muss Ihr Pods-Projekt dieselbe Signaturmethode wie Ihr Main-Projekt verwenden.

Wenn Ihre Pods nicht eingecheckt sind, können verschiedene Probleme auftreten. Es gibt einige Problemumgehungen, die Sie in diesem GitHub-Problem mit Vorabbuildskripts verwenden können.

Da ich mein Projekt auf Xcode 10 Beta aktualisiert habe, kann meine App nicht mit dem Fehler Cycle in Abhängigkeiten zwischen Zielen erstellt werden.

Das neue Buildsystem von Xcode 10 erkennt Abhängigkeitszyklen in Ihrem Build und schlägt beim Build fehl, falls vorhanden.

Weitere Informationen zum Beheben des Builds finden Sie in der Apple-Dokumentation zum Auflösen gängiger Abhängigkeitszyklen.