1. Hinweis
In diesem Codelab erfahren Sie, wie Sie Firebase App Distribution und das fastlane-Plug-in verwenden, um eine iOS-App an Tester zu verteilen, UDIDs von Testgeräten zu erfassen und sie im Bereitstellungsprofil Ihrer App zu registrieren. So können Sie Ad-hoc-Builds schnell an Tester weitergeben.
Lerninhalte
- So laden Sie eine Vorabveröffentlichung einer iOS-App (Ad-hoc) mit Firebase App Distribution und fastlane hoch und verteilen sie an Tester.
- Hier erfahren Sie, wie Sie sich als Tester registrieren und die verteilte App auf einem Testgerät herunterladen.
- Testgeräte schnell registrieren, indem Sie UDIDs von Testgeräten mit dem fastlane-Plug-in von App Distribution exportieren.
- So aktualisieren Sie das Bereitstellungsprofil Ihrer App und laden es für die Verteilung noch einmal hoch.
Voraussetzungen
- Ein Google-Konto
- Ein Apple-Computer mit XCode 11.7 oder höher
- Eine Ad-hoc-Vorabversion einer iOS-App, die in Xcode erstellt wurde
- Ein kostenpflichtiges Apple-Entwicklerkonto
- Ein physisches iOS-Gerät zum Testen.
Die iOS-Simulator-App funktioniert für den Großteil des Codelabs, aber mit Simulatoren können keine Releases heruntergeladen werden.
Sie können trotzdem prüfen, ob die Einrichtung funktioniert hat, indem Sie nachsehen, ob die Schaltfläche „Herunterladen“ in der App Distribution-Tester-Web-App angezeigt wird.
2. Jetzt starten
fastlane einrichten
Die App-Bereitstellung lässt sich in fastlane einbinden, sodass Sie die Bereitstellung von Vorab-Releases Ihrer App automatisieren können. Die App-Bereitstellung wird in Ihre fastlane-Konfiguration eingebunden.
- fastlane installieren und einrichten.
- Führen Sie
fastlane init
während der Einrichtung im Stammverzeichnis Ihres Projekts aus und wählen Sie „Manuelle Einrichtung“ aus. Sie sehen ein Unterverzeichnis namensfastlane
, das die DateienFastfile
,Appfile
undPluginfile
enthält. Diese verwenden Sie, um fastlane zu konfigurieren.
Firebase CLI installieren
Sie müssen auch die Firebase CLI installieren. Wenn Sie macOS oder Linux verwenden, können Sie den folgenden cURL-Befehl ausführen:
curl -sL https://firebase.tools | bash
Wenn Sie Windows verwenden, finden Sie hier eine Installationsanleitung, um ein eigenständiges Binärprogramm zu erhalten oder die Installation über npm
vorzunehmen.
Nach der Installation der CLI sollte bei der Ausführung von firebase --version
eine Version von 12.0.0
oder höher angezeigt werden:
$ firebase --version 12.0.0
3. App mit fastlane erstellen
App entwickeln
- Legen Sie in Ihrer
./fastlane/Appfile.
einige globale Variablen für fastlane fest. Geben Sie die ID Ihrer App und Ihre Apple-ID an:
app_identifier("<your app's bundle identifier>")
apple_id("<your Apple id>")
- Erstellen Sie Ihren ersten Lane und verwenden Sie die fastlane -Aktion
build_app
(auch alsgym
bezeichnet), um Ihre App zu erstellen. Fügen Sie dazu Folgendes zu Ihrem./fastlane/Fastfile
hinzu:
default_platform(:ios)
lane :build do
build_app(export_method: "ad-hoc")
end
- Signieren Sie Ihre App für die Bereitstellung.
In diesem Codelab verwalten Sie Ihre eigene Zertifizierung und Ihr eigenes Profil mit get_certificates
(auch bekannt als cert
). Damit werden Signaturzertifikate lokal generiert und alles in Ihrem macOS-Schlüsselbund gespeichert. In der Regel sollten Sie jedoch fastlane sync_code_signing action
(auch als match
bezeichnet) verwenden, um die Codesignaturzertifikate und -profile Ihres Teams sicher zu verwalten.
lane :build do
get_certificates()
build_app(export_method: "ad-hoc")
end
- Richten Sie mit der Aktion
get_provisioning_profile
(auch alssigh
bezeichnet) ein Bereitstellungsprofil für Ihre App ein. So können Sie Ihre App mit Testern teilen.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true)
build_app(export_method: "ad-hoc")
end
- [Optional] Wenn Sie Ihre App noch nie ausgeführt haben, führen Sie den folgenden Befehl aus, um sie in der Apple-Entwicklerkonsole zu erstellen:
$ fastlane produce --skip_itc
- Erstellen Sie Ihre App, indem Sie die Lane ausführen.
Sie werden aufgefordert, Ihre Apple-ID, Ihr Passwort (das in Ihrem Schlüsselbund gespeichert ist) und die Paket-ID Ihrer App einzugeben.
$ fastlane build
Falls Probleme auftreten, lesen Sie den Leitfaden zur Fehlerbehebung für fastlane.
4. App in Firebase hochladen
Nachdem Sie Ihre App erstellt haben, können Sie sie in die App-Bereitstellung hochladen.
Neues Firebase-Projekt erstellen
- Melden Sie sich mit Ihrem Google-Konto in der Firebase Console an.
- Klicken Sie auf die Schaltfläche zum Erstellen eines neuen Projekts und geben Sie einen Projektnamen ein (z. B.
UDID Export Codelab
). - Klicken Sie auf Weiter.
- Lesen und akzeptieren Sie bei Aufforderung die Firebase-Nutzungsbedingungen und klicken Sie dann auf Weiter.
- (Optional) Aktivieren Sie die KI-Unterstützung in der Firebase Console (als „Gemini in Firebase“ bezeichnet).
- Für dieses Codelab benötigen Sie kein Google Analytics. Deaktivieren Sie daher die Google Analytics-Option.
- Klicken Sie auf Projekt erstellen, warten Sie, bis Ihr Projekt bereitgestellt wurde, und klicken Sie dann auf Weiter.
iOS-App in das Projekt einbinden
- Klicken Sie auf das iOS-Symbol, um eine neue Firebase-iOS-App zu erstellen, und geben Sie die Bundle-ID Ihrer App ein.
- Überspringen Sie die nächsten Schritte und klicken Sie dann auf Weiter zur Konsole. Sie fügen Ihrer App später SDKs hinzu.
Ihr Projekt und Ihre App sind jetzt auf der Seite Projektübersicht verfügbar.
App-Bereitstellung aktivieren
- Klicken Sie im Bereich „Release & Monitor“ (Release und Monitoring) auf App-Bereitstellung.
- Nachdem Sie die Bedingungen akzeptiert haben, klicken Sie auf „Jetzt starten“, um die App-Bereitstellung für Ihre App zu aktivieren.
Verteilung in fastlane einrichten
- Führen Sie den folgenden Befehl im Stammverzeichnis Ihres iOS-Projekts aus, um App Distribution zu Ihrer fastlane-Konfiguration hinzuzufügen.
Wenn Sie vom Befehl aufgefordert werden, eine Option auszuwählen, wählen Sie Option 3: RubyGems.org aus:
$ fastlane add_plugin firebase_app_distribution
- Prüfen Sie, ob das Plug-in installiert ist:
$ fastlane
In der Ausgabe sollte fastlane-plugin-firebase_app_distribution
in der Liste der installierten Plug-ins angezeigt werden.
- Nachdem Sie bestätigt haben, dass das Plug-in installiert ist, wählen Sie Option 0 aus, um den Vorgang abzubrechen.
Firebase-Projekt authentifizieren
Um das fastlane-Plug‑in zu verwenden, müssen Sie zuerst Ihr Firebase-Projekt authentifizieren.
- Führen Sie den folgenden Befehl aus, um die Befehlszeile mit Ihrem Google-Konto zu verknüpfen:
$ firebase login
- Wenn der Befehl einen Authentifizierungslink ausgibt, öffnen Sie den Link in einem Browser.
- Melden Sie sich bei Aufforderung in Ihrem Google-Konto an und erteilen Sie die Berechtigung für den Zugriff auf Ihr Firebase-Projekt.
App vertreiben
Jetzt können Sie Ihre App verteilen.
- Definieren Sie oben in Ihrem
./fastlane/Fastfile
eine Variable namensfirebase_app_id
. Ersetzen Sie<your_app_id>
durch die Firebase-App-ID für die von Ihnen erstellte App. Sie finden sie auf der Seite Projekteinstellungen.
Fastfile
ist in Ruby geschrieben. Verwenden Sie daher die Ruby-Syntax, um Variablen zu definieren.
firebase_app_id = "<your_app_id>"
- Fügen Sie eine neue Lane mit dem Namen
distribute
hinzu, die die Build-Lane aufruft und Ihre App dann mit der Aktionfirebase_app_distribution
verteilt.
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
)
end
- Führen Sie die neue Lane aus, um Ihre App zu erstellen und eine Verteilung zu erstellen.
$ fastlane distribute
Ihr Fastfile sollte jetzt so aussehen:
firebase_app_id = "<your Firebase app ID>"
default_platform(:ios)
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true)
build_app(export_method: "ad-hoc")
end
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
)
end
Nachdem Sie die Firebase Console aktualisiert haben, wird das neue Release für Ihre App angezeigt.
5. Tester zum Herunterladen Ihrer App einladen
Wenn ein Tester eine Einladung zum Testen eines Ad-hoc-Builds annimmt, wird er um die Erlaubnis gebeten, seine UDID freizugeben. Wenn sie zustimmen, werden ihre Geräteinformationen von App-Bereitstellung erhoben und Sie werden per E‑Mail benachrichtigt. In diesem Abschnitt fügen Sie sich selbst als Tester hinzu, um die von Ihnen verteilte App herunterzuladen und zu testen.
Sich selbst als Tester für die Version hinzufügen
- Erstellen Sie oben in Ihrer Fastfile unter
firebase_app_id
eine Variable für Tester und fügen Sie Ihre eigene E‑Mail-Adresse sowie andere optionale E‑Mail-Adressen hinzu, die Sie testen möchten.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
- Wenden Sie die Ruby-Methode Array#join an, um das
app_testers
-Array in einen durch Kommas getrennten String umzuwandeln, der für den Parametertesters
erforderlich ist. Übergeben Sie das Ergebnis dann an den Parametertesters
vonfirebase_app_distribution.
.
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!"
testers: app_testers.join(","),
)
end
Ihr Fastfile sollte jetzt so aussehen:
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
default_platform(:ios)
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true)
build_app(export_method: "ad-hoc")
end
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
testers: app_testers.join(","),
)
end
- Führen Sie die Lane noch einmal aus.
$ fastlane distribute
Sobald Sie den Lane ausführen, erhalten die hinzugefügten Tester eine Einladungs-E-Mail von App Distribution, in der sie über die neu verfügbare Version informiert werden. In der Firebase Console können Sie jetzt die Tester sehen, die Sie dem Release Ihrer App hinzugefügt haben.
Da Sie Ihre E-Mail-Adresse angegeben haben, erhalten Sie eine E-Mail von der Firebase-App-Bereitstellung, in der Sie zum Testen der App eingeladen werden. Sie sind jetzt der erste Tester. Fahren Sie mit dem Abschnitt unten fort, um sich auf Ihrem Testgerät als Tester einzurichten.
Testgerät registrieren
Als Tester müssen Sie sich auf Ihrem Testgerät in Google anmelden, um auf App-Releases zuzugreifen, zu deren Test Sie eingeladen wurden. Da es sich bei Ihrem Test-Build um eine Ad-hoc-Version handelt, müssen Sie Ihr Testgerät auch registrieren, indem Sie das Firebase-Profil installieren. Anschließend können Sie über den Webclip, der dem Startbildschirm Ihres Geräts hinzugefügt wird, in der App Distribution Tester-Web-App auf Releases zugreifen, die für Sie verfügbar werden.
- Öffnen Sie auf Ihrem iOS-Testgerät die E‑Mail, die von Firebase App Distribution gesendet wurde, und tippen Sie auf den Link Erste Schritte. Öffnen Sie den Link in Safari.
- Sie befinden sich jetzt in der Web-App für App-Verteilungstests. Melden Sie sich auf der angezeigten Seite mit Ihrem Google-Konto an und tippen Sie auf Einladung annehmen.
- Sie können jetzt die Releases sehen, zu denen Sie eingeladen wurden. Tippen Sie unter einer der Versionen auf Gerät registrieren.
- Laden Sie das Firebase-Profil herunter, wenn Sie dazu aufgefordert werden, und installieren Sie es dann in den Einstellungen.
Durch die Installation des Profils erhält Firebase die Berechtigung für Folgendes:
- Registrieren Sie das Testgerät, indem Sie die UDID (Unique Device ID) des Geräts erfassen.
Firebase sendet allen Inhabern und Bearbeitern des Firebase-Projekts eine E-Mail mit der UDID des Testgeräts.
- Installieren Sie einen Webclip auf dem Startbildschirm des Testgeräts. Durch den Webclip wird die App Distribution Tester-Web-App geöffnet, über die Sie alle Ihre Test-Apps installieren und auf sie zugreifen können.
Ihr Testgerät ist jetzt in der App-Bereitstellung-Tester-Web-App für die Version Ihrer App registriert.
Nachdem Sie die UDID Ihres Testgeräts für Firebase freigegeben haben, können Sie jetzt als Entwickler fortfahren. Auf dem Tab Tester des App-Verteilungs-Dashboards werden Ihre Testerinformationen jetzt unter dem Release Ihrer App mit dem Status „Akzeptiert“ angezeigt:
Im nächsten Abschnitt fügen Sie die Geräte-UDID dem Bereitstellungsprofil Ihrer App hinzu und erstellen dann eine Version Ihrer App, die mit Ihrem Testgerät funktioniert.
UDIDs von Testergeräten exportieren
Als Entwickler erhalten Sie eine E-Mail von Firebase mit der UDID des Testgeräts. Mit App Distribution können Sie mehrere neue Geräte-UDIDs gleichzeitig erfassen, indem Sie sie direkt aus der Firebase Console als Rohtextdatei exportieren.
- Wenn Sie alle UDIDs exportieren möchten, öffnen Sie den Tab Tester und Gruppen.
- Klicken Sie auf Apple-UDIDs exportieren.
Die Datei sollte die UDID Ihres Testgeräts enthalten.
Device ID Device Name Device Platform
1234567890 udid.codelab.tester@gmail.com - iPhone SE 2nd Gen ios
Die Geräte-IDs können auch über die Befehlszeile mit fastlane exportiert werden. Das wird im nächsten Abschnitt beschrieben.
6. Bereitstellungsprofil Ihrer App aktualisieren und App neu erstellen
Fügen Sie nun die UDID Ihres Testgeräts dem Nutzerverwaltungsprofil Ihrer App hinzu, erstellen Sie eine Version Ihrer App, die auf Ihrem Gerät funktioniert, und verteilen Sie die neue Version.
UDID-Export-Lane hinzufügen
- Fügen Sie oben in Ihrer Fastfile eine weitere Variable hinzu und legen Sie sie auf einen Dateipfad fest, in den die UDIDs der Geräte Ihrer Tester heruntergeladen werden.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
tester_udids_file = "tester_udids.txt"
- Richten Sie eine neue Lane ein, in der die UDIDs der Tester mit der UDID-Exportaktion des App Distribution-Plug-ins heruntergeladen werden. Das funktioniert genauso wie in der Console.
lane :download_udids do
firebase_app_distribution_get_udids(
app: firebase_app_id,
output_file: tester_udids_file,
)
end
- Führen Sie die folgende Lane aus, um die UDIDs herunterzuladen.
$ fastlane download_udids
- Drucken Sie die heruntergeladene Datei aus. Sie sollte die UDIDs der Testgeräte enthalten.
$ cat tester_udids.txt
Geräte zur Apple Developer Console hinzufügen
- Erstellen Sie die folgende Lane, um die UDIDs der Geräteliste in der Apple-Entwicklerkonsole hinzuzufügen. So können Sie sie mit der fastlane -Aktion
register_devices
Ihrem Bereitstellungsprofil hinzufügen:
lane :add_new_devices do
register_devices(devices_file: tester_udids_file)
end
- Führen Sie dann die Lane aus:
$ fastlane add_new_devices
Die neuen Geräte sollten dann in der Geräteliste Ihrer Entwicklerkonsole angezeigt werden.
Geräte zum Bereitstellungsprofil hinzufügen
- Fügen Sie das Argument
force
dem Schritt für das Bereitstellungsprofil in Ihrembuild
-Lane hinzu, damit bei jedem Build neue Geräte berücksichtigt werden.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true, force: true)
build_app(export_method: "ad-hoc")
end
Lane zum Erstellen und Hochladen noch einmal ausführen
Aktualisieren Sie nun die distribute
-Lane mit den neuen Lanes, um die Geräte dem Bereitstellungsprofil hinzuzufügen, die App neu zu erstellen und sie dann zu verteilen.
- Rufen Sie die neuen Bereiche über
distribute
auf:
lane :distribute do
download_udids
add_new_devices
build
firebase_app_distribution(
app: "1:123456789:ios:abcd1234",
release_notes: "Try out this app!"
testers: app_testers.join(","),
)
end
- Führen Sie die
distribute
-Lane aus:
$ fastlane distribute
Ihr Fastfile sollte jetzt so aussehen:
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
tester_udids_file = "tester_udids.txt"
default_platform(:ios)
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true, force: true)
build_app(export_method: "ad-hoc")
end
lane :distribute do
download_udids
add_new_devices
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
testers: app_testers.join(","),
)
end
lane :download_udids do
firebase_app_distribution_get_udids(
app: firebase_app_id,
output_file: tester_udids_file,
)
end
lane :add_new_devices do
register_devices(devices_file: tester_udids_file)
end
Release auf das Testgerät herunterladen
Da Ihre App jetzt die UDIDs der Testgeräte enthält, kann sie auf den Testgeräten installiert werden.
- Kehren Sie auf Ihrem Testgerät zur App Distribution-Tester-Web-App zurück. Verwenden Sie dazu den Link in der E‑Mail oder das Symbol auf dem Startbildschirm des Geräts.
Wenn Sie zur UDID-Codelab-App navigieren, sehen Sie, dass die Version zum Herunterladen bereit ist.
- Wenn Sie ein physisches Gerät verwenden, drücken Sie auf „Herunterladen“, dann auf „Installieren“ und führen Sie die App aus.
7. Glückwunsch
Sie haben App Distribution und fastlane jetzt so konfiguriert, dass Ihr Vorabveröffentlichungstestprozess automatisiert wird. Wenn Sie jetzt zusätzliche Tester einladen oder ihre UDIDs zu Ihrer App hinzufügen möchten, müssen Sie nur noch einen Befehl ausführen: fastlane distribute
.
Sie müssen also nicht mehr einzeln UDIDs von Testern erfassen oder die Apple Developer Console aufrufen, um Gerätelisten oder Nutzerverwaltungsprofile zu aktualisieren. Sie müssen Xcode nicht einmal öffnen.
Dieser Workflow lässt sich einfach einrichten und stündlich oder täglich in Ihrer Continuous-Integration-Umgebung ausführen.
Weitere Informationen
- Funktionen von Firebase App Distribution, einschließlich des In-App-SDKs für iOS
- Weitere Informationen zu fastlane
- Codesignatur Ihres Teams mit
match
verwalten - Einbindung von fastlane in Ihre CI