1. Bevor Sie beginnen
In diesem Codelab erfahren Sie, wie Sie Firebase App Distribution und sein Fastlane -Plug-in verwenden, um eine iOS-App an Tester zu verteilen, Testgerät-UDIDs zu sammeln und sie im Bereitstellungsprofil Ihrer App zu registrieren, damit Sie Ad-hoc-Builds schnell in Tester integrieren können ' Hände.
Was Sie lernen werden
- Anleitung zum Hochladen und Verteilen einer Vorabversion von iOS-Apps (Ad-hoc) an Tester mithilfe von Firebase App Distribution und fastlane .
- 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 die UDIDs von Testgeräten 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 erstellte Ad-hoc-Vorabversion der iOS-App
- Ein kostenpflichtiges Apple-Entwicklerkonto
- Ein physisches iOS-Gerät zum Testen.
Die iOS-Simulator-App funktioniert für die meisten Codelabs, aber Simulatoren können keine Releases herunterladen.
Sie können dennoch überprüfen, ob die Einrichtung funktioniert hat, indem Sie sich vergewissern, dass die Schaltfläche „Herunterladen“ in der App Distribution Tester-Web-App angezeigt wird.
2. Fangen Sie an
Schnelllane einrichten
App Distribution lässt sich in Fastlane integrieren, damit 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 während der Einrichtung
fastlane init
im Stammverzeichnis Ihres Projekts aus und wählen Sie „Manuelle Einrichtung“. Sie sehen ein Unterverzeichnis namensfastlane
, dasFastfile
,Appfile
undPluginfile
enthält, die Sie zum Konfigurieren von fastlane verwenden.
3. Erstellen Sie Ihre App mit Fastlane
Erstellen Sie Ihre Anwendung
- Legen Sie einige globale Variablen für Fastlane in Ihrem
./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 für die 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. In der Regel möchten Sie jedoch die Aktion 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 mithilfe der Aktion
get_provisioning_profile
(auch alssigh
bezeichnet) ein Bereitstellungsprofil für Ihre App ein. Auf diese Weise 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 Ihre App in der Apple-Entwicklerkonsole zu erstellen:
$ fastlane produce --skip_itc
- Erstellen Sie schließlich 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
Wenn Sie auf Probleme stoßen, lesen Sie bitte den Fastlane- Leitfaden zur Fehlerbehebung .
4. Laden Sie Ihre App auf Firebase hoch
Nachdem Sie Ihre App erstellt haben, können Sie sie in App Distribution 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 dem Projekt Ihre iOS-App hinzu
- Klicken Sie auf das iOS-Symbol, um eine neue Firebase-iOS-App zu erstellen, und geben Sie die Paket-ID Ihrer App ein.
- Überspringen Sie die nächsten Schritte und klicken Sie dann auf Continue to console . Sie werden SDKs später zu Ihrer App hinzufügen.
Ihr Projekt und Ihre App sind jetzt auf der Seite Projektübersicht verfügbar.
App-Verteilung aktivieren
- Klicken Sie im Abschnitt Release & Monitor auf App Distribution .
- 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 mit 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 zum Abbrechen.
Authentifizieren Sie Ihr Firebase-Projekt
Um das Fastlane -Plug-in zu verwenden, authentifizieren Sie zunächst Ihr Firebase-Projekt.
- Führen Sie den folgenden Befehl aus:
$ fastlane run firebase_app_distribution_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.
Kopieren Sie den resultierenden Code aus dem Anmeldebrowser und fügen Sie ihn in die Befehlszeile ein.
- Die Anmeldeaktion druckt dann ein Aktualisierungstoken, das das App Distribution-Plug-in verwendet, um sich bei Firebase zu authentifizieren:
- Übergeben Sie das Token, indem Sie die Umgebungsvariable
FIREBASE_TOKEN
festlegen:
$ export FIREBASE_TOKEN=
<token>
Verteilen Sie Ihre App
Sie können Ihre App jetzt 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 also 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 verteilt dann Ihre App mithilfe der Aktionfirebase_app_distribution
.
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
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, sehen Sie die neue Version Ihrer App.
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, sammelt 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 als Tester zum Release hinzu
- Erstellen Sie unter
firebase_app_id
oben in Ihrem Fastfile eine Variable für Tester und fügen Sie Ihre eigene E-Mail-Adresse sowie andere optionale E-Mail-Adressen ein, 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
app_testers
-Array in einen durch Kommas getrennten String umzuwandeln, den dertesters
Parameter erwartet. Übergeben Sie dann das Ergebnis 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 wie folgt 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
- Fahre die Bahn erneut.
$ fastlane distribute
Sobald Sie die Lane ausgeführt haben, erhalten die von Ihnen hinzugefügten Tester eine Einladungs-E-Mail von App Distribution, in der sie über die neu verfügbare Version informiert werden. In der Firebase-Konsole können Sie jetzt die Tester sehen, die Sie unter der Version 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. Sie sind 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 zugreifen zu können, zu denen 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. Danach können Sie über die App Distribution Tester-Web-App auf verfügbare 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 App „Einstellungen“.
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 App Distribution Tester-Web-App ist Ihr Testgerät jetzt für die Veröffentlichung Ihrer App registriert.
Nachdem Sie Firebase die UDID Ihres Testgeräts mitgeteilt haben, können Sie jetzt als Entwickler fortfahren. Auf der Registerkarte „Tester“ des App-Verteilungs-Dashboards werden Ihre Testerinformationen jetzt unter der Version Ihrer App mit dem Status „Akzeptiert“ angezeigt:
Im nächsten Abschnitt fügen Sie dem Bereitstellungsprofil Ihrer App die Geräte-UDID hinzu und erstellen dann eine Version Ihrer App, die mit Ihrem Testgerät funktioniert.
Exportieren Sie die UDIDs Ihres Testgeräts
Als Entwickler erhalten Sie von Firebase eine E-Mail mit der UDID des Testgeräts. Optional erleichtert App Distribution das gleichzeitige Sammeln mehrerer neuer Geräte-UDIDs, indem Sie sie direkt aus der Firebase-Konsole als Rohtextdatei exportieren können.
- Um alle UDIDs zu exportieren, öffnen Sie die Registerkarte 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 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 Ihrem 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 Lane 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 des Testgeräts enthalten sollte.
$ cat tester_udids.txt
Fügen Sie Geräte zur Apple Developer Console hinzu
- Erstellen Sie die folgende Spur, um die UDIDs zu Ihrer Geräteliste in der Apple-Entwicklerkonsole hinzuzufügen, damit Sie sie mit 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 Bahn aus:
$ fastlane add_new_devices
Sie sollten dann die neuen Geräte in der Geräteliste Ihrer Entwicklerkonsole sehen .
Fügen Sie Ihrem Bereitstellungsprofil Geräte hinzu
- Fügen Sie das
force
Argument zum Bereitstellungsprofilschritt in Ihrerbuild
Lane hinzu, um zu erzwingen, dass es bei jedem Build neue Geräte aufnimmt.
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 Bahnen, um die Geräte zum Bereitstellungsprofil hinzuzufügen, die App neu zu erstellen und sie dann zu verteilen.
- Rufen Sie die neuen Bahnen von
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
aus:
$ fastlane distribute
Zu diesem Zeitpunkt sollte Ihr Fastfile wie folgt 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 UDIDs der Testgeräte 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 App Distribution Tester-Web-App zurück.
Wenn Sie zur UDID-Codelab-App navigieren, können Sie sehen, dass die Version zum Herunterladen bereit ist.
- Wenn Sie sich auf einem physischen Gerät befinden, klicken Sie auf Download, 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 jetzt weitere 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 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.
Weiterlesen
- Erkunden Sie die Funktionen von Firebase App Distribution , einschließlich unseres In-App-SDK für iOS
- Erfahren Sie mehr über fastlane
- Verwalten Sie die Codesignierung Ihres Teams mit
match
- Integrieren Sie fastlane in Ihr CI