1. Bevor Sie beginnen
In diesem Codelab erfahren Sie, wie Sie Firebase App Distribution und sein Fastlane- Plugin verwenden, um eine iOS-App an Tester zu verteilen, Testgeräte-UDIDs zu sammeln und sie im Bereitstellungsprofil Ihrer App zu registrieren, damit Sie Ad-hoc-Builds schnell in Tester übertragen können ' Hände.
Was Sie lernen werden
- So laden Sie eine Vorabversion einer iOS-App (Ad-hoc) hoch und verteilen sie mithilfe von Firebase App Distribution und Fastlane an Tester.
- So melden Sie sich als Tester an und laden die verteilte App auf ein Testgerät herunter.
- So registrieren Sie Testgeräte schnell, indem Sie Testgeräte-UDIDs mit dem Fastlane- Plugin von App Distribution exportieren.
- So aktualisieren Sie das Bereitstellungsprofil Ihrer App und laden es zur Verteilung erneut hoch.
Was du brauchen wirst
- Ein Google-Konto
- Ein Apple-Computer mit installiertem XCode 11.7+
- Eine in Xcode integrierte Ad-hoc-Vorabversion für iOS-App
- Ein kostenpflichtiges Apple Developer-Konto
- Ein physisches iOS-Gerät zum Testen.
Die iOS-Simulator-App funktioniert für die meisten Codelabs, Simulatoren können jedoch keine Versionen herunterladen.
Sie können weiterhin überprüfen, ob die Einrichtung funktioniert hat, indem Sie überprüfen, ob die Schaltfläche „Herunterladen“ in der Web-App des App Distribution-Testers angezeigt wird.
2. Legen Sie los
Fastlane einrichten
App Distribution lässt sich in Fastlane integrieren, sodass Sie die Verteilung von Vorabversionen Ihrer App automatisieren können. App Distribution lässt sich in Ihre Fastlane- Konfiguration integrieren.
- Fastlane installieren und einrichten .
- Führen Sie
fastlane init
während der Einrichtung im Stammverzeichnis Ihres Projekts aus und wählen Sie „Manuelle Einrichtung“. Sie sehen ein Unterverzeichnis namensfastlane
, das eineFastfile
,Appfile
undPluginfile
enthält, die Sie zum Konfigurieren von fastlane verwenden.
Installieren Sie die Firebase-CLI
Sie müssen außerdem 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, lesen Sie die Installationsanweisungen , um eine eigenständige Binärdatei zu erhalten oder über npm
zu installieren.
Sobald Sie die CLI installiert haben, sollte beim Ausführen von firebase --version
eine Version von 12.0.0
oder höher gemeldet werden:
$ firebase --version 12.0.0
3. Erstellen Sie Ihre App mit Fastlane
Erstellen Sie Ihre App
- Legen Sie einige globale Variablen für Fastlane in Ihrer
./fastlane/Appfile.
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 Ihre erste Lane und verwenden Sie die Aktion
build_app
von fastlane (auch bekannt alsgym
), um Ihre App zu erstellen, indem Sie Folgendes zu Ihrer./fastlane/Fastfile
hinzufügen:
default_platform(:ios)
lane :build do
build_app(export_method: "ad-hoc")
end
- Signieren Sie Ihre App zur Verteilung.
Für dieses Codelab verwalten Sie Ihre eigene Zertifizierung und Ihr eigenes Profil mit get_certificates
(auch bekannt als cert
), das Signaturzertifikate lokal generiert und alles in Ihrem macOS-Schlüsselbund speichert. Normalerweise möchten Sie jedoch die Fastlane- sync_code_signing action
(auch bekannt als match
) 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 bekannt alssigh
) ein Bereitstellungsprofil für Ihre App ein. Dadurch 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 zuvor ausgeführt haben, führen Sie den folgenden Befehl aus, um Ihre App in der Apple-Entwicklerkonsole zu erstellen:
$ fastlane produce --skip_itc
- Erstellen Sie abschließend Ihre App, indem Sie die Spur ausführen.
Sie werden aufgefordert, Ihre Apple-ID, Ihr Passwort (das in Ihrem Schlüsselbund gespeichert ist) und die Bundle-ID Ihrer App einzugeben.
$ fastlane build
Wenn Sie auf Probleme stoßen, lesen Sie bitte die Fastlane- Anleitung zur Fehlerbehebung .
4. Laden Sie Ihre App auf Firebase hoch
Nachdem Sie Ihre App erstellt haben, können Sie sie in die App-Verteilung hochladen.
Erstellen und richten Sie ein Firebase-Projekt ein
- Melden Sie sich bei Firebase an.
- Erstellen oder fügen Sie in der Firebase-Konsole ein neues Projekt hinzu und nennen Sie Ihr Projekt dann „UDID Export Codelab“.
Sie müssen Google Analytics für dieses Projekt nicht aktivieren.
- Klicken Sie auf Projekt erstellen .
Fügen Sie Ihre iOS-App zum Projekt hinzu
- 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 werden Ihrer App später SDKs hinzufügen.
Ihr Projekt und Ihre App sind jetzt auf der Seite „Projektübersicht“ verfügbar.
Aktivieren Sie die App-Verteilung
- Klicken Sie im Abschnitt „Veröffentlichung und Überwachung“ auf App-Verteilung .
- Nachdem Sie die Bedingungen akzeptiert haben, klicken Sie auf „Erste Schritte“, um die App-Verteilung für Ihre App zu aktivieren.
Richten Sie eine Verteilung in Fastlane ein
- Führen Sie den folgenden Befehl im Stammverzeichnis Ihres iOS-Projekts aus, um App Distribution zu Ihrer Fastlane- Konfiguration hinzuzufügen.
Wenn der Befehl Sie zu einer Option auffordert, wählen Sie Option 3: RubyGems.org :
$ fastlane add_plugin firebase_app_distribution
- Bestätigen Sie, dass das Plugin installiert ist:
$ fastlane
Die Ausgabe sollte fastlane-plugin-firebase_app_distribution
in der Liste der installierten Plugins anzeigen.
- Nachdem Sie bestätigt haben, dass das Plugin installiert ist, wählen Sie Option 0, um den Vorgang abzubrechen.
Authentifizieren Sie Ihr Firebase-Projekt
Um das Fastlane -Plugin zu verwenden, authentifizieren Sie zunächst Ihr Firebase-Projekt.
- Führen Sie den folgenden Befehl aus, um die CLI mit Ihrem Google-Konto zu verbinden:
$ firebase login
- Wenn der Befehl einen Authentifizierungslink druckt, öffnen Sie den Link in einem Browser.
- Wenn Sie dazu aufgefordert werden, melden Sie sich bei Ihrem Google-Konto an und erteilen Sie die Berechtigung zum Zugriff auf Ihr Firebase-Projekt.
Verteilen Sie Ihre App
Sie sind jetzt bereit, Ihre App zu verteilen.
- Definieren Sie oben in Ihrer
./fastlane/Fastfile
eine Variable namensfirebase_app_id
. Ersetzen Sie<your_app_id>
durch die Firebase-App-ID für die von Ihnen erstellte App (diese finden Sie auf der Seite mit den Projekteinstellungen ).
Das 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 namens
distribute
hinzu, die die Build-Lane aufruft und dann Ihre App mithilfe 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 Spur aus, um Ihre App zu erstellen und eine Verteilung zu erstellen.
$ fastlane distribute
Zu diesem Zeitpunkt sollte Ihr Fastfile wie folgt 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-Konsole aktualisiert haben, wird die neue Version Ihrer App angezeigt.
5. Laden Sie Tester ein, Ihre App herunterzuladen
Wenn ein Tester eine Einladung zum Testen eines Ad-hoc-Builds annimmt, wird er um Erlaubnis gebeten, seine UDID weiterzugeben. Wenn sie zustimmen, erfasst App Distribution ihre Geräteinformationen und benachrichtigt Sie per E-Mail. In diesem Abschnitt fügen Sie sich selbst als Tester hinzu, um die von Ihnen verteilte App herunterzuladen und zu testen.
Fügen Sie sich selbst als Tester zur Veröffentlichung hinzu
- Erstellen Sie unter
firebase_app_id
oben in Ihrem Fastfile eine Variable, um Tester aufzunehmen und Ihre eigene E-Mail-Adresse sowie andere optionale E-Mail-Adressen anzugeben, die Sie ausprobieren möchten.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
- Wenden Sie die Array#join -Methode von Ruby an, um das Array
app_testers
in eine durch Kommas getrennte Zeichenfolge umzuwandeln, die der Parametertesters
erwartet. Übergeben Sie das Ergebnis dann an dentesters
Parameter 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
Zu diesem Zeitpunkt sollte Ihr Fastfile 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 Spur erneut aus.
$ fastlane distribute
Sobald Sie die Lane ausgeführt haben, erhalten die von Ihnen hinzugefügten Tester eine Einladungs-E-Mail von App Distribution, die sie über die neu verfügbare Version informiert. In der Firebase-Konsole können Sie jetzt die Tester sehen, die Sie unter der Veröffentlichung Ihrer App hinzugefügt haben.
Da Sie Ihre E-Mail-Adresse angegeben haben, erhalten Sie eine E-Mail von Firebase App Distribution, in der Sie zum Testen der App eingeladen werden. Du bist jetzt der erste Tester! Fahren Sie mit dem folgenden Abschnitt fort, um sich als Tester auf Ihrem Testgerät einzurichten.
Registrieren Sie Ihr Testgerät
Als Tester müssen Sie sich auf Ihrem Testgerät bei 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 auch Ihr Testgerät registrieren, indem Sie das Firebase-Profil installieren. Anschließend können Sie über die App Distribution-Tester-Web-App auf die für Sie verfügbaren Versionen zugreifen, indem Sie den Webclip verwenden, der dem Startbildschirm Ihres Geräts hinzugefügt wird.
- Öffnen Sie auf Ihrem iOS-Testgerät die von Firebase App Distribution gesendete E-Mail und tippen Sie auf den Link „Erste Schritte“ . Stellen Sie sicher, dass Sie den Link in Safari öffnen.
- Sie befinden sich jetzt in der App Distribution Tester-Web-App. Melden Sie sich auf der angezeigten Seite mit Ihrem Google-Konto an und tippen Sie auf Einladung annehmen.
- Sie können jetzt die Veröffentlichungen sehen, zu denen Sie eingeladen wurden. Tippen Sie unter einer der Versionen auf Gerät registrieren .
- Wenn Sie dazu aufgefordert werden, laden Sie das Firebase-Profil herunter und installieren Sie das Profil dann in der Einstellungen-App.
Durch die Installation des Profils erhält Firebase die Berechtigung:
- Registrieren Sie das Testgerät, indem Sie die eindeutige Geräte-ID (UDID) des Geräts erfassen.
Firebase sendet allen Eigentümern und Bearbeitern des Firebase-Projekts eine E-Mail mit der UDID des Testgeräts.
- Installieren Sie einen Webclip auf dem Startbildschirm des Testgeräts. Der Webclip öffnet die App Distribution Tester-Web-App, mit der Sie alle Ihre Test-Apps installieren und darauf zugreifen können.
In der Web-App des App Distribution-Testers ist Ihr Testgerät nun für die Veröffentlichung Ihrer App registriert.
Nachdem Sie die UDID Ihres Testgeräts nun an Firebase weitergegeben haben, können Sie nun als Entwickler fortfahren. Auf der Registerkarte „Tester“ des App-Verteilungs-Dashboards werden Ihre Testerinformationen jetzt unter der Veröffentlichung Ihrer App mit dem Status „Akzeptiert“ angezeigt:
Im nächsten Abschnitt fügen Sie die Geräte-UDID zum Bereitstellungsprofil Ihrer App hinzu und erstellen dann eine Version Ihrer App, die mit Ihrem Testgerät funktioniert.
Exportieren Sie die UDIDs Ihrer Testergeräte
Als Entwickler erhalten Sie von Firebase eine E-Mail mit der UDID des Testgeräts. Als Option erleichtert App Distribution das gleichzeitige Sammeln mehrerer neuer Geräte-UDIDs, indem Sie diese direkt aus der Firebase-Konsole als Rohtextdatei exportieren können.
- Um alle UDIDs zu exportieren, öffnen Sie die Registerkarte Tester & 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 UDIDs können auch über die Befehlszeile mit fastlane exportiert werden, was Sie im nächsten Abschnitt tun werden.
6. Aktualisieren Sie das Bereitstellungsprofil Ihrer App und erstellen Sie es neu
Jetzt fügen Sie die UDID Ihres Testgeräts zum Bereitstellungsprofil Ihrer App hinzu, erstellen eine Version Ihrer App neu, die für Ihr Gerät funktioniert, und verteilen die neue Version.
UDID- Exportspur hinzufügen
- Fügen Sie oben in Ihrer Fastfile eine weitere Variable hinzu und legen Sie sie auf einen Dateipfad fest, in den die Geräte-UDIDs 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 Spur ein, die die UDID-Exportaktion des App Distribution-Plugins verwendet, um die Tester-UDIDs herunterzuladen, genau wie Sie es von der Konsole aus getan haben.
lane :download_udids do
firebase_app_distribution_get_udids(
app: firebase_app_id,
output_file: tester_udids_file,
)
end
- Führen Sie die folgende Spur aus, um die UDIDs herunterzuladen.
$ fastlane download_udids
- Drucken Sie die heruntergeladene Datei aus, die die UDIDs der Testgeräte enthalten sollte.
$ cat tester_udids.txt
Fügen Sie Geräte zur Apple-Entwicklerkonsole hinzu
- Erstellen Sie die folgende Lane, um die UDIDs zu Ihrer Geräteliste in der Apple-Entwicklerkonsole hinzuzufügen, damit Sie sie mithilfe der Aktion
register_devices
von fastlane zu Ihrem Bereitstellungsprofil hinzufügen können:
lane :add_new_devices do
register_devices(devices_file: tester_udids_file)
end
- Führen Sie dann die Spur aus:
$ fastlane add_new_devices
Anschließend sollten die neuen Geräte in der Geräteliste Ihrer Entwicklerkonsole angezeigt werden.
Fügen Sie Geräte zu Ihrem Bereitstellungsprofil hinzu
- Fügen Sie das
force
Argument zum Bereitstellungsprofilschritt in Ihrerbuild
Lane hinzu, um zu erzwingen, dass bei jedem Build neue Geräte aufgenommen werden.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true, force: true)
build_app(export_method: "ad-hoc")
end
Führen Sie die Spur erneut aus, um sie zu erstellen und hochzuladen
Jetzt aktualisieren Sie Ihre distribute
mit den neuen Spuren, um die Geräte zum Bereitstellungsprofil hinzuzufügen, die App neu zu erstellen und sie dann zu verteilen.
- Rufen Sie die neuen Lanes von
distribute
aus 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
aus:
$ fastlane distribute
Zu diesem Zeitpunkt sollte Ihr Fastfile 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
Laden Sie die Version vom Testgerät herunter
Da Ihre App nun die Testgeräte-UDIDs enthält, können sie auf den Testgeräten installiert werden.
- Kehren Sie auf Ihrem Testgerät über den Link in der E-Mail oder das Symbol auf dem Startbildschirm des Geräts zur Web-App des App Distribution-Testers zurück.
Wenn Sie zur UDID-Codelab-App navigieren, können Sie sehen, dass die Version zum Download bereit ist.
- Wenn Sie ein physisches Gerät verwenden, klicken Sie auf „Herunterladen“, installieren Sie die App und führen Sie sie aus!
7. Herzlichen Glückwunsch
Sie haben jetzt App Distribution und Fastlane konfiguriert, um Ihren Testprozess vor der Veröffentlichung zu automatisieren. Wenn Sie nun weitere Tester einladen oder deren UDIDs zu Ihrer App hinzufügen möchten, müssen Sie nur einen Befehl ausführen: fastlane distribute
.
Sie müssen also nicht mehr einzeln UDIDs von Testern sammeln oder zur Apple-Entwicklerkonsole gehen, um Gerätelisten oder Bereitstellungsprofile zu aktualisieren. Sie müssen XCode nicht einmal öffnen!
Dieser Workflow lässt sich einfach so einrichten, dass er in Ihrer Continuous-Integration-Umgebung stündlich oder täglich ausgeführt wird.
Weiterführende Literatur
- Entdecken Sie die Funktionen von Firebase App Distribution , einschließlich unseres In-App-SDK für iOS
- Erfahren Sie mehr über Fastlane
- Verwalten Sie die Codesignatur Ihres Teams mit
match
- Integrieren Sie fastlane in Ihr CI