1. Avant de commencer
Dans cet atelier de programmation, vous apprendrez à utiliser Firebase App Distribution et son plug-in Fastlane pour distribuer une application iOS aux testeurs, collecter les UDID des appareils de test et les enregistrer dans le profil d'approvisionnement de votre application, afin que vous puissiez obtenir rapidement des versions Ad Hoc dans les testeurs. ' mains.
Ce que vous apprendrez
- Comment importer et distribuer une version préliminaire de l'application iOS (ad hoc) aux testeurs à l'aide de Firebase App Distribution et fastlane .
- Comment s'inscrire en tant que testeur et télécharger l'application distribuée sur un appareil de test.
- Comment enregistrer rapidement des appareils de test en exportant les UDID des appareils de test avec le plug-in fastlane d'App Distribution.
- Comment mettre à jour le profil d'approvisionnement de votre application et le recharger pour distribution.
Ce dont vous aurez besoin
- Un compte Google
- Une machine Apple avec XCode 11.7+ installé
- Une application iOS de pré-version Ad Hoc intégrée à Xcode
- Un compte développeur Apple payant
- Un appareil iOS physique pour les tests.
L' application de simulation iOS fonctionnera pour la plupart du laboratoire de programmation, mais les simulateurs ne peuvent pas télécharger les versions.
Vous pouvez toujours vérifier que la configuration a fonctionné en vérifiant que le bouton "Télécharger" apparaît sur l'application Web du testeur App Distribution.
2. Commencez
Configurer la voie rapide
App Distribution s'intègre à fastlane pour vous permettre d'automatiser la distribution des versions préliminaires de votre application. App Distribution s'intègre à votre configuration fastlane .
- Installez et configurez fastlane .
- Exécutez
fastlane init
dans le répertoire racine de votre projet lors de l'installation et choisissez "Configuration manuelle". Vous verrez un sous-répertoire appeléfastlane
qui contient unFastfile
,Appfile
etPluginfile
, que vous utiliserez pour configurer fastlane .
Installer l'interface de ligne de commande Firebase
Vous devrez également installer la CLI Firebase . Si vous utilisez macOS ou Linux, vous pouvez exécuter la commande cURL suivante :
curl -sL https://firebase.tools | bash
Si vous utilisez Windows, lisez les instructions d'installation pour obtenir un binaire autonome ou pour installer via npm
.
Une fois que vous avez installé la CLI, l'exécution firebase --version
doit indiquer une version 12.0.0
ou supérieure :
$ firebase --version 12.0.0
3. Créez votre application avec fastlane
Créez votre application
- Définissez des variables globales pour fastlane dans votre
./fastlane/Appfile.
Incluez l'ID de votre application et votre identifiant Apple :
app_identifier("<your app's bundle identifier>")
apple_id("<your Apple id>")
- Créez votre première voie et utilisez l'action
build_app
de fastlane (également connue sous le nom degym
) pour créer votre application en ajoutant ce qui suit à votre./fastlane/Fastfile
:
default_platform(:ios)
lane :build do
build_app(export_method: "ad-hoc")
end
- Signez votre application pour distribution.
Pour cet atelier de programmation, vous gérerez votre propre certification et votre profil à l'aide get_certificates
(également connu sous le nom de cert
), qui génère des certificats de signature localement et stocke tout dans votre trousseau macOS. Cependant, vous souhaiterez généralement utiliser l'action fastlane sync_code_signing action
(également connue sous le nom de match
) pour gérer en toute sécurité les certificats et les profils de signature de code de votre équipe.
lane :build do
get_certificates()
build_app(export_method: "ad-hoc")
end
- Configurez un profil d'approvisionnement pour votre application à l'aide de l'action
get_provisioning_profile
(également appeléesigh
). Cela vous permet de partager votre application avec des testeurs.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true)
build_app(export_method: "ad-hoc")
end
- [Facultatif] Si vous n'avez jamais exécuté votre application auparavant, exécutez la commande suivante pour créer votre application dans la console développeur Apple :
$ fastlane produce --skip_itc
- Enfin, créez votre application en exécutant la voie.
Vous serez invité à entrer votre identifiant Apple, votre mot de passe (qui est stocké dans votre trousseau) et l'identifiant de votre application.
$ fastlane build
Si vous rencontrez des problèmes, veuillez consulter le guide de dépannage fastlane .
4. Téléchargez votre application sur Firebase
Maintenant que vous avez créé votre application, vous êtes prêt à la télécharger sur App Distribution.
Créer et configurer un projet Firebase
- Connectez-vous à Firebase.
- Dans la console Firebase, créez ou ajoutez un nouveau projet, puis nommez votre projet "UDID Export Codelab".
Vous n'avez pas besoin d'activer Google Analytics pour ce projet.
- Cliquez sur Créer un projet .
Ajoutez votre application iOS au projet
- Cliquez sur l'icône iOS pour créer une nouvelle application iOS Firebase, puis saisissez l'ID de bundle de votre application.
- Ignorez les quelques étapes suivantes, puis cliquez sur Continuer vers la console . Vous ajouterez des SDK à votre application ultérieurement.
Votre projet et votre application sont désormais disponibles sur la page Présentation du projet .
Activer la distribution d'applications
- Sous la section Release & Monitor, cliquez sur App Distribution .
- Après avoir accepté les conditions, cliquez sur "Commencer" pour activer la distribution d'applications pour votre application.
Mettre en place une distribution en fastlane
- Exécutez la commande suivante à partir de la racine de votre projet iOS pour ajouter App Distribution à votre configuration Fastlane .
Si la commande vous propose une option, sélectionnez Option 3 : RubyGems.org :
$ fastlane add_plugin firebase_app_distribution
- Confirmez que le plug-in est installé :
$ fastlane
La sortie doit afficher fastlane-plugin-firebase_app_distribution
dans la liste des plugins installés.
- Après avoir confirmé que le plugin est installé, choisissez l'option 0 pour annuler.
Authentifiez votre projet Firebase
Pour utiliser le plugin fastlane , vous devez d'abord authentifier votre projet Firebase.
- Exécutez la commande suivante pour connecter la CLI à votre compte Google :
$ firebase login
- Lorsque la commande imprime un lien d'authentification, ouvrez le lien dans un navigateur.
- Lorsque vous y êtes invité, connectez-vous à votre compte Google et accordez l'autorisation d'accéder à votre projet Firebase.
Distribuez votre application
Vous êtes maintenant prêt à distribuer votre application.
- En haut de votre
./fastlane/Fastfile
, définissez une variable appeléefirebase_app_id
. Remplacez<your_app_id>
par l'ID de l'application Firebase pour l'application que vous avez créée (cela peut être trouvé dans la page des paramètres du projet ).
Le Fastfile
est écrit en Ruby, utilisez donc la syntaxe Ruby pour définir les variables.
firebase_app_id = "<your_app_id>"
- Ajoutez une nouvelle voie appelée
distribute
qui appelle la voie de construction, puis distribue votre application à l'aide de l'actionfirebase_app_distribution
.
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
)
end
- Exécutez la nouvelle voie pour créer votre application et créer une distribution.
$ fastlane distribute
À ce stade, votre Fastfile devrait ressembler à ceci :
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
Après avoir actualisé la console Firebase, vous verrez la nouvelle version de votre application.
5. Invitez des testeurs à télécharger votre application
Lorsqu'un testeur accepte une invitation à tester une version Ad Hoc, il lui est demandé l'autorisation de partager son UDID. S'ils acceptent, App Distribution collecte les informations de leur appareil et vous en informe par e-mail. Dans cette section, vous vous ajouterez en tant que testeur pour télécharger et tester l'application que vous avez distribuée.
Ajoutez-vous en tant que testeur à la version
- Sous
firebase_app_id
en haut de votre Fastfile, créez une variable pour contenir les testeurs et incluez votre propre adresse e-mail, ainsi que d'autres adresses e-mail facultatives que vous souhaitez essayer.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
- Appliquez la méthode Array#join de Ruby pour transformer le tableau
app_testers
en une chaîne séparée par des virgules, ce que le paramètretesters
attend. Ensuite, transmettez le résultat au paramètretesters
defirebase_app_distribution.
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!"
testers: app_testers.join(","),
)
end
À ce stade, votre Fastfile devrait ressembler à ceci :
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
- Exécutez à nouveau la voie.
$ fastlane distribute
Une fois que vous avez exécuté la voie, les testeurs que vous avez ajoutés recevront un e-mail d'invitation d'App Distribution les informant de la nouvelle version disponible. Dans la console Firebase, vous pouvez désormais voir les testeurs que vous avez ajoutés sous la version de votre application.
Puisque vous avez inclus votre adresse e-mail, vous recevrez un e-mail de Firebase App Distribution vous invitant à tester l'application. Vous êtes maintenant le premier testeur ! Continuez la section ci-dessous pour vous configurer en tant que testeur sur votre appareil de test.
Enregistrez votre appareil de test
En tant que testeur, vous devrez vous connecter à Google sur votre appareil de test afin d'accéder aux versions d'application que vous avez été invité à tester. Étant donné que votre version de test est une version ad hoc, vous devrez également enregistrer votre appareil de test en installant le profil Firebase. Ensuite, les versions qui deviennent disponibles pour vous sont accessibles à partir de l'application Web du testeur App Distribution, à l'aide du clip Web ajouté à l'écran d'accueil de votre appareil.
- Sur votre appareil de test iOS, ouvrez l'e-mail envoyé par Firebase App Distribution et appuyez sur le lien Commencer . Assurez-vous d'ouvrir le lien dans Safari.
- Vous êtes maintenant dans l'application Web du testeur App Distribution. Dans la page qui s'affiche, connectez-vous avec votre compte Google et appuyez sur Accepter l'invitation.
- Vous pouvez maintenant voir les versions auxquelles vous avez été invité. Appuyez sur Enregistrer l'appareil sous l'une des versions.
- Lorsque vous y êtes invité, téléchargez le profil Firebase, puis installez le profil dans l'application Paramètres.
L'installation du profil autorise Firebase à :
- Enregistrez l'appareil de test en collectant l'ID d'appareil unique (UDID) de l'appareil.
Firebase envoie à tous les propriétaires et éditeurs du projet Firebase un e-mail contenant l'UDID de l'appareil de test.
- Installez un clip Web sur l'écran d'accueil de l'appareil de test. Le clip Web ouvre l'application Web de test App Distribution, qui vous permet d'installer et d'accéder à toutes vos applications de test.
Dans l'application Web du testeur App Distribution, votre appareil de test est désormais enregistré pour la version de votre application.
Maintenant que vous avez partagé l'UDID de votre appareil de test avec Firebase, vous pouvez maintenant reprendre en tant que développeur. Dans l' onglet Testeurs du tableau de bord App Distribution , vos informations de testeur apparaissent désormais sous la version de votre application avec le statut "Accepté" :
Dans la section suivante, vous allez ajouter l'UDID de l'appareil au profil d'approvisionnement de votre application, puis créer une version de votre application qui fonctionne avec votre appareil de test.
Exportez les UDID de votre appareil testeur
En tant que développeur, vous recevrez un e-mail de Firebase contenant l'UDID de l'appareil de test. En option, App Distribution facilite la collecte simultanée de plusieurs nouveaux UDID d'appareils en vous permettant de les exporter directement depuis la console Firebase sous forme de fichier texte brut.
- Pour exporter tous les UDID, ouvrez l'onglet Testeurs et groupes .
- Cliquez sur Exporter les UDID Apple .
Le fichier doit contenir l'UDID de votre appareil de test.
Device ID Device Name Device Platform
1234567890 udid.codelab.tester@gmail.com - iPhone SE 2nd Gen ios
Les UDID peuvent également être exportés depuis la ligne de commande à l'aide de fastlane , ce que vous ferez dans la section suivante.
6. Mettez à jour le profil d'approvisionnement de votre application et reconstruisez-le
Vous allez maintenant ajouter l'UDID de votre appareil de test au profil d'approvisionnement de votre application, reconstruire une version de votre application qui fonctionne pour votre appareil et distribuer la nouvelle version.
Ajouter une voie d'exportation UDID
- Ajoutez une autre variable en haut de votre Fastfile et définissez-la sur un chemin de fichier où les UDID de l'appareil de vos testeurs seront téléchargés.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
tester_udids_file = "tester_udids.txt"
- Configurez une nouvelle voie qui utilise l'action d'exportation UDID du plug-in App Distribution pour télécharger les UDID du testeur, comme vous l'avez fait depuis la console.
lane :download_udids do
firebase_app_distribution_get_udids(
app: firebase_app_id,
output_file: tester_udids_file,
)
end
- Exécutez la voie suivante pour télécharger les UDID.
$ fastlane download_udids
- Imprimez le fichier téléchargé, qui doit contenir les UDID de l'appareil de test.
$ cat tester_udids.txt
Ajouter des appareils à la console développeur Apple
- Créez la voie suivante pour ajouter les UDID à votre liste d'appareils dans la console développeur Apple, afin de pouvoir les ajouter à votre profil d'approvisionnement à l'aide de l'action
register_devices
de fastlane :
lane :add_new_devices do
register_devices(devices_file: tester_udids_file)
end
- Ensuite, exécutez la voie :
$ fastlane add_new_devices
Vous devriez alors voir les nouveaux appareils dans la liste des appareils de votre console développeur .
Ajouter des appareils à votre profil de provisionnement
- Ajoutez l'argument
force
à l'étape du profil d'approvisionnement dans votre voiebuild
, afin de le forcer à récupérer de nouveaux appareils à chaque fois que vous construisez.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true, force: true)
build_app(export_method: "ad-hoc")
end
Réexécutez la voie pour créer et télécharger
Maintenant, vous allez mettre à jour votre voie distribute
avec les nouvelles voies afin d'ajouter les appareils au profil d'approvisionnement, reconstruire l'application, puis la distribuer.
- Appelez les nouvelles voies de
distribute
:
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
- Exécutez la voie
distribute
:
$ fastlane distribute
À ce stade, votre Fastfile devrait ressembler à ceci :
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
Télécharger la version à partir de l'appareil de test
Maintenant que votre application inclut les UDID des appareils de test, ils peuvent être installés sur les appareils de test.
- Sur votre appareil de test, revenez à l'application Web du testeur App Distribution à l'aide du lien dans l'e-mail ou de l'icône sur l'écran d'accueil de l'appareil.
Lorsque vous accédez à l'application UDID Codelab, vous pouvez voir que la version est prête à être téléchargée.
- Si vous êtes sur un appareil physique, appuyez sur télécharger, puis installez et lancez l'application !
7. Félicitations
Vous avez maintenant configuré App Distribution et Fastlane pour automatiser votre processus de test de pré-version. Désormais, lorsque vous souhaitez inviter des testeurs supplémentaires ou ajouter leurs UDID à votre application, vous n'aurez qu'à exécuter une seule commande : fastlane distribute
.
Ainsi, plus besoin de collecter individuellement les UDID des testeurs ou d'accéder à la console des développeurs Apple pour mettre à jour les listes d'appareils ou les profils de provisionnement. Vous n'avez même pas besoin d'ouvrir XCode !
Ce flux de travail est facile à configurer pour s'exécuter toutes les heures ou tous les jours dans votre environnement d'intégration continue.
Lectures complémentaires
- Découvrez les fonctionnalités de Firebase App Distribution , y compris notre SDK intégré à l'application pour iOS
- En savoir plus sur Fastlane
- Gérez la signature de code de votre équipe avec
match
- Intégrez fastlane dans votre IC