Pilot (Fastlane) ist ein Tool zur Verwaltung von iOS-App-Builds in TestFlight: Hochladen von Binärdateien, Verwalten von Testergruppen und Verfolgen von Build-Status. Im Gegensatz zum manuellen Upload über App Store Connect automatisiert Pilot alle Operationen mit der TestFlight-API. Laut der offiziellen Fastlane-Dokumentation (2026) ermöglicht Pilot Teams, die Veröffentlichungszeit einer Beta-Version von 10 Minuten auf nur wenige Sekunden zu reduzieren.
Wichtige Punkte
Pilot (Fastlane) ist eine Komponente des Fastlane-Ökosystems zur Automatisierung der Arbeit mit TestFlight — der Apple-Plattform für Beta-Tests mobiler Anwendungen. Pilot übernimmt alle Routineoperationen: Hochladen von Builds, Hinzufügen von Testern, Verwalten von Gruppen und Verfolgen des Build-Status.
Ohne Pilot sieht der Beta-Verteilungsprozess wie folgt aus: Der Entwickler öffnet manuell App Store Connect, wählt die App aus, lädt IPA über Xcode Organizer hoch, konfiguriert eine Testergruppe und sendet Einladungen. TestFlight ist der Apple-Dienst zum Verteilen von Beta-Versionen von Apps an Tester vor der offiziellen Veröffentlichung im App Store.
Laut App Store Connect Help (2025) müssen externe Tester vor der ersten Build-Installation den Beta App Review-Prozess durchlaufen — dies dauert 1 bis 48 Stunden. Pilot verfolgt automatisch den Überprüfungsstatus und benachrichtigt das Team, wenn der Build zur Verteilung an externe Testergruppen bereit ist.
Verwenden Sie Pilot in jedem Projekt, das eine regelmäßige Lieferung von Beta-Builds an Tester erfordert — es ist ein Standardwerkzeug für iOS-CI/CD-Pipelines, das einen vorhersagbaren Lieferprozess gewährleistet.
Die Funktionalität von Pilot deckt den gesamten Lebenszyklus der Beta-Build-Verwaltung ab: vom Hochladen einer Binärdatei bis zur Benachrichtigung der Tester über eine neue Version. Jede Funktion ist als separater Befehl mit vorhersagbarem Verhalten und detaillierter Protokollierung jedes Schrittes implementiert.
Der Befehl fastlane pilot upload lädt die IPA-Datei in App Store Connect hoch und erstellt einen neuen Build in TestFlight. Pilot überprüft automatisch die Gültigkeit der Binärdatei, die Versionskonformität und die App-Kennung. App Store Connect ist die Plattform von Apple zur Verwaltung von Anwendungen, einschließlich Hochladen von Builds, Metadaten, Analysen und Verkaufsberichten.
Nach dem Upload wartet Pilot auf die Verarbeitung der Binärdatei durch Apple — der Vorgang dauert je nach Build-Größe 5 bis 30 Minuten. Während des Wartens zeigt Pilot einen Fortschrittsbalken mit Informationen zum aktuellen Verarbeitungsstatus an: Processing, Validating oder Ready. Nach erfolgreicher Verarbeitung steht der Build zur Zuweisung an Testergruppen zur Verfügung.
Pilot unterstützt die Verwaltung sowohl interner als auch externer Testergruppen. Interne Tester sind Mitglieder Ihres Apple Developer-Teams, die sofort Zugriff auf Builds erhalten, ohne die Beta App Review durchlaufen zu müssen. Externe Tester sind per E-Mail eingeladene Benutzer, die vor der ersten Installation eine Überprüfungsgenehmigung benötigen.
Der Befehl fastlane pilot add fügt einer Gruppe neue Tester per E-Mail oder Apple ID hinzu. Pilot sendet automatisch Einladungen und prüft, ob der Tester die Einladung angenommen hat. Für Massenhinzufügungen können Sie eine Liste von E-Mails aus einer Datei mit dem Parameter --testers_file_path übergeben, was bei der anfänglichen Zusammenstellung einer Testergruppe mit Hunderten von Teilnehmern praktisch ist.
# Einen neuen Build in TestFlight hochladen
fastlane pilot upload --ipa "build/MyApp.ipa"
# Einen Tester zu einer Gruppe hinzufügen
fastlane pilot add --email "tester@company.com" \
--groups "QA Team"
Die Pilot-Konfiguration erfordert keine separate Konfigurationsdatei — Einstellungen werden über die Appfile (die gemeinsame Fastlane-Datei) oder Befehlszeilenargumente übergeben. Zu den wichtigsten Parametern gehören die apple_id der App, app_identifier, team_id und Anmeldeinformationen für den Zugriff auf die App Store Connect API.
Für die Authentifizierung verwendet Pilot den App Store Connect API Key (empfohlene Methode) oder die Apple ID Zwei-Faktor-Authentifizierung. App Store Connect API Key ist ein Zugriffsschlüssel, der in App Store Connect generiert wird und die Interaktion mit der API ermöglicht, ohne interaktiv ein Passwort und einen Bestätigungscode eingeben zu müssen.
# Appfile — Allgemeine Fastlane-Konfiguration
app_identifier("com.company.app")
apple_id("developer@company.com")
team_id("TEAM123456")
# Umgebungsvariablen für Pilot
# APP_STORE_CONNECT_API_KEY_PATH=/path/to/key.p8
Der Parameter app_identifier definiert die Bundle-ID der App, die mit der im Xcode-Projekt und in App Store Connect angegebenen Kennung übereinstimmen muss. Der Parameter apple_id wird für die Authentifizierung im Zwei-Faktor-Schema verwendet, und team_id — zur Auswahl des Entwicklungsteams, wenn das Konto mit mehreren Apple Developer-Teams verknüpft ist.
Damit Pilot funktioniert, müssen Sie den App Store Connect API Key in der CI/CD-Umgebung konfigurieren. Der Schlüssel wird in App Store Connect → Users and Access → Keys → Generate API Key generiert. Speichern Sie die .p8-Datei in den CI-Systemgeheimnissen und geben Sie den Pfad über die Umgebungsvariable APP_STORE_CONNECT_API_KEY_PATH oder den Parameter --api_key_path in Pilot-Befehlen an.
Der Satz von Pilot-Befehlen deckt alle TestFlight-Szenarien ab: Hochladen von Builds, Verwalten von Testern, Anzeigen von Status und Verfolgen von Metadaten. Jeder Befehl gibt eine strukturierte JSON-Ausgabe zur weiteren Verarbeitung in CI/CD-Skripten zurück.
Der Befehl fastlane pilot builds zeigt eine Liste aller App-Builds mit Version, Verarbeitungsstatus und Upload-Datum an. Der Build-Status kann einer der folgenden sein: Processing — Apple verarbeitet die Binärdatei, Ready — der Build ist zur Verteilung verfügbar, Rejected — der Build wurde aufgrund von Validierungsfehlern abgelehnt.
# Alle Builds in TestFlight anzeigen
fastlane pilot builds
# Einen Build einer Testergruppe zuweisen
fastlane pilot distribute --build_number 42 \
--groups "QA Team" --notify
# Informationen zu einem bestimmten Build anzeigen
fastlane pilot build_info --build_number 42
Der Befehl fastlane pilot distribute weist den Build bestimmten Testergruppen zu und sendet Benachrichtigungen. Der Parameter --notify aktiviert das Senden von E-Mail-Benachrichtigungen an Tester über einen neuen verfügbaren Build — dies ist entscheidend, um Beta-Tester in den Testprozess einzubeziehen und das Feedback zu beschleunigen.
Zur Verwaltung von Build-Metadaten verwenden Sie den Parameter --changelog, der den Beschreibungstext der Änderungen in der neuen Version festlegt. Dieser Text wird Testern in der Testeinladung in der TestFlight-App angezeigt. Es wird empfohlen, in jedem Build die wichtigsten Änderungen, behobene Fehler und neue Funktionen anzugeben.
| Pilot-Befehl | Zweck | Wichtige Parameter |
|---|---|---|
| pilot upload | IPA in TestFlight hochladen | --ipa, --skip_waiting |
| pilot distribute | Build Gruppen zuweisen | --build_number, --groups |
| pilot add | Tester hinzufügen | --email, --groups |
| pilot builds | Alle Builds auflisten | --app_identifier |
| pilot build_info | Build-Informationen | --build_number |
Pilot in CI/CD ist die letzte Stufe der iOS-App-Lieferpipeline. Nachdem Gym das IPA erstellt und die Tests bestanden wurden, lädt Pilot den Build in TestFlight hoch und verteilt ihn an Testergruppen. Dies ermöglicht es QA-Teams, die neue App-Version innerhalb weniger Minuten nach einem Commit im Repository zu erhalten.
Eine typische iOS-CI/CD-Pipeline umfasst die Sequenz: Match (Zertifikate), Gym (IPA-Build), Pilot (Upload in TestFlight und Verteilung). Jede Stufe hängt von der vorherigen ab, sodass nur gültige und signierte Builds an Tester geliefert werden.
# Vollständige Pipeline in Fastfile
lane :beta do
match(type: :appstore)
gym(scheme: "MyApp", export_method: "app-store")
pilot("build/MyApp.ipa", groups: ["QA", "PM"])
end
Der Parameter skip_waiting im Upload-Befehl ermöglicht es, innerhalb einer CI-Aufgabe nicht auf den Abschluss der Verarbeitung der Binärdatei durch Apple zu warten — Pilot sendet die Upload-Anforderung, erhält die Build-Kennung und wird abgeschlossen. Dies beschleunigt die Pipeline, da die Verarbeitung bis zu 30 Minuten dauern kann, die nicht im CI-Runner mit Warten verbracht werden.
Damit Pilot in CI korrekt funktioniert, müssen Sie den App Store Connect API-Schlüssel konfigurieren. Speichern Sie die .p8-Schlüsseldatei im geschützten Speicher des CI-Systems und übergeben Sie den Pfad über die Umgebungsvariable APP_STORE_CONNECT_API_KEY_PATH. Pilot verwendet diesen Schlüssel zur Authentifizierung in der API ohne Zwei-Faktor-Authentifizierung, was für automatisierte Szenarien entscheidend ist.
Bei der Verwendung von Pilot stoßen Entwickler am häufigsten auf Authentifizierungsfehler, falsche App-Konfiguration und Probleme bei der Verarbeitung von Binärdateien auf Apple-Seite. Die Pilot-Problemanalyse beginnt mit der Überprüfung des Build-Status in App Store Connect über den Befehl pilot builds.
Der Fehler „Your app is not available for testing in TestFlight“ tritt auf, wenn die App nicht für Tests in App Store Connect konfiguriert ist. Lösung: Öffnen Sie den TestFlight-Bereich in App Store Connect, aktivieren Sie Tests für die App und stellen Sie sicher, dass Export Compliance für Ihren Verschlüsselungstyp korrekt ausgefüllt ist.
Der Fehler „Missing iOS Distribution signing identity“ zeigt das Fehlen eines Distribution-Zertifikats im Schlüsselbund an. Lösung: Führen Sie Match aus, um das richtige Zertifikat herunterzuladen, bevor Sie Pilot aufrufen. Ein Distribution-Zertifikat unterscheidet sich vom Development-Zertifikat — es wird verwendet, um Builds zu signieren, die für die Verteilung über TestFlight oder den App Store bestimmt sind.
Beim Fehler „Invalid Provisioning Profile“ enthält der Build ein falsches Profil für die ausgewählte Exportmethode. Lösung: Überprüfen Sie, ob Gym den richtigen export_method verwendet, der dem Profiltyp in Match entspricht. Wenn der Build mit einem Development-Profil erstellt wurde, kann Pilot ihn nicht in TestFlight hochladen — ein App-Store- oder Ad-Hoc-Profil ist erforderlich.
Häufig gestellte Fragen
Pilot unterstützt zwei Typen: interne Tester (Internal Testers) — Mitglieder des Apple Developer-Teams, die sofort Zugriff erhalten, und externe Tester (External Testers) — per E-Mail eingeladene Benutzer, die vor der Installation die Beta App Review durchlaufen müssen.
TestFlight erfordert eine eindeutige Build-Nummer für jeden Upload. Pilot überprüft automatisch auf Duplikate und lehnt den Upload eines Builds mit einer Nummer ab, die bereits in App Store Connect vorhanden ist. Für einen neuen Upload erhöhen Sie die Build-Nummer im Xcode-Projekt vor dem Build.
Nein, Pilot ist eine Komponente von Fastlane und wird nicht separat installiert. Sie können jedoch Pilot ohne andere Fastlane-Tools aufrufen. Installieren Sie dazu Fastlane über gem install fastlane und verwenden Sie nur pilot-Befehle, wobei Sie match und gym ignorieren.
Verwenden Sie den Befehl fastlane pilot reject mit der angegebenen Build-Nummer. Pilot deaktiviert den Testerzugriff auf den angegebenen Build, löscht ihn jedoch nicht aus App Store Connect. Der abgelehnte Build bleibt mit dem Status Rejected im TestFlight-Verlauf für die Release-Überprüfung erhalten.
Verwenden Sie den Parameter --notify im Befehl pilot distribute. Pilot sendet E-Mail-Benachrichtigungen an alle Tester in den angegebenen Gruppen mit einem Link zur Installation der neuen Version über TestFlight. Ohne dieses Flag sehen Tester den neuen Build nur beim Öffnen der TestFlight-App.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch