1. Antes de comenzar
En este codelab, aprenderá a usar Firebase App Distribution y su complemento Fastlane para distribuir una aplicación de iOS a los evaluadores, recopilar los UDID de los dispositivos de prueba y registrarlos en el perfil de aprovisionamiento de su aplicación, para que pueda obtener compilaciones ad hoc rápidamente en los evaluadores. ' manos.
lo que aprenderás
- Cómo cargar y distribuir una aplicación iOS preliminar (Ad Hoc) a los evaluadores mediante Firebase App Distribution y fastlane .
- Cómo registrarse como tester y descargar la aplicación distribuida en un dispositivo de prueba.
- Cómo registrar rápidamente dispositivos de prueba exportando UDID de dispositivos de prueba con el complemento fastlane de App Distribution.
- Cómo actualizar el perfil de aprovisionamiento de su aplicación y volver a cargarlo para su distribución.
Lo que necesitarás
- Una cuenta de Google
- Una máquina Apple con XCode 11.7+ instalado
- Una aplicación iOS preliminar ad hoc integrada en Xcode
- Una cuenta paga de desarrollador de Apple
- Un dispositivo iOS físico para realizar pruebas.
La aplicación del simulador de iOS funcionará para la mayor parte del codelab, pero los simuladores no pueden descargar versiones.
Aún puede verificar que la configuración funcionó verificando que el botón "Descargar" aparezca en la aplicación web del probador de distribución de aplicaciones.
2. Comience
Configurar carril rápido
App Distribution se integra con fastlane para permitirle automatizar la distribución de versiones preliminares de su aplicación. App Distribution se integra con su configuración fastlane .
- Instalar y configurar fastlane .
- Ejecute
fastlane init
en el directorio raíz de su proyecto durante la instalación y elija "Configuración manual". Verá un subdirectorio llamadofastlane
que contieneFastfile
,Appfile
yPluginfile
, que usará para configurar fastlane .
Instale la CLI de Firebase
También necesitarás instalar Firebase CLI . Si está utilizando macOS o Linux, puede ejecutar el siguiente comando cURL:
curl -sL https://firebase.tools | bash
Si está utilizando Windows, lea las instrucciones de instalación para obtener un binario independiente o instalarlo mediante npm
.
Una vez que hayas instalado la CLI, ejecutar firebase --version
debería informar una versión de 12.0.0
o superior:
$ firebase --version 12.0.0
3. Crea tu aplicación con fastlane
Crea tu aplicación
- Establezca algunas variables globales para fastlane en su
./fastlane/Appfile.
Incluye el ID de tu aplicación y tu ID de Apple:
app_identifier("<your app's bundle identifier>")
apple_id("<your Apple id>")
- Cree su primer carril y use la acción
build_app
de fastlane (también conocida comogym
) para crear su aplicación agregando lo siguiente a su./fastlane/Fastfile
:
default_platform(:ios)
lane :build do
build_app(export_method: "ad-hoc")
end
- Firme su aplicación para su distribución.
Para este codelab, administrará su propia certificación y perfil usando get_certificates
(también conocido como cert
), que genera certificados de firma localmente y almacena todo en su llavero macOS. Sin embargo, normalmente querrás utilizar la acción fastlane sync_code_signing action
(también conocida como match
) para administrar de forma segura los certificados y perfiles de firma de código de tu equipo.
lane :build do
get_certificates()
build_app(export_method: "ad-hoc")
end
- Configure un perfil de aprovisionamiento para su aplicación mediante la acción
get_provisioning_profile
(también conocida comosigh
). Esto le permite compartir su aplicación con los evaluadores.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true)
build_app(export_method: "ad-hoc")
end
- [Opcional] Si nunca antes ha ejecutado su aplicación, ejecute el siguiente comando para crearla en la consola de desarrollador de Apple:
$ fastlane produce --skip_itc
- Finalmente, cree su aplicación ejecutando el carril.
Se le solicitará su ID de Apple, su contraseña (que se almacena en su llavero) y el ID del paquete de su aplicación.
$ fastlane build
Si tiene algún problema, consulte la guía de solución de problemas de fastlane .
4. Sube tu aplicación a Firebase
Ahora que ha creado su aplicación, está listo para cargarla en App Distribution.
Crear y configurar un proyecto de Firebase
- Inicia sesión en Firebase.
- En Firebase console, crea o agrega un nuevo proyecto y luego llámalo "UDID Export Codelab".
No es necesario habilitar Google Analytics para este proyecto.
- Haga clic en Crear proyecto .
Añade tu aplicación iOS al proyecto
- Haz clic en el ícono de iOS para crear una nueva aplicación de Firebase para iOS e ingresa el ID del paquete de tu aplicación.
- Omita los siguientes pasos y luego haga clic en Continuar a la consola . Agregará SDK a su aplicación más adelante.
Su proyecto y aplicación ahora están disponibles en la página Descripción general del proyecto .
Habilitar distribución de aplicaciones
- En la sección Lanzamiento y supervisión, haga clic en Distribución de aplicaciones .
- Después de aceptar los términos, haga clic en "Comenzar" para habilitar la distribución de aplicaciones para su aplicación.
Configurar una distribución en fastlane
- Ejecute el siguiente comando desde la raíz de su proyecto iOS para agregar App Distribution a su configuración de fastlane .
Si el comando le muestra una opción, seleccione Opción 3: RubyGems.org :
$ fastlane add_plugin firebase_app_distribution
- Confirme que el complemento esté instalado:
$ fastlane
El resultado debería mostrar fastlane-plugin-firebase_app_distribution
en la lista de complementos instalados.
- Después de confirmar que el complemento está instalado, elija la opción 0 para cancelar.
Autentica tu proyecto de Firebase
Para usar el complemento fastlane , primero deberás autenticar tu proyecto de Firebase.
- Ejecute el siguiente comando para conectar la CLI a su cuenta de Google:
$ firebase login
- Cuando el comando imprima un enlace de autenticación, abra el enlace en un navegador.
- Cuando se le solicite, inicie sesión en su cuenta de Google y otorgue permiso para acceder a su proyecto de Firebase.
Distribuye tu aplicación
Ahora estás listo para distribuir tu aplicación.
- En la parte superior de su
./fastlane/Fastfile
, defina una variable llamadafirebase_app_id
. Reemplace<your_app_id>
con el ID de la aplicación Firebase para la aplicación que creó (esto se puede encontrar en la página de configuración del proyecto ).
Fastfile
está escrito en Ruby, así que use la sintaxis de Ruby para definir variables.
firebase_app_id = "<your_app_id>"
- Agregue un nuevo carril llamado
distribute
que llame al carril de compilación y luego distribuya su aplicación mediante la acciónfirebase_app_distribution
.
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
)
end
- Ejecute el nuevo carril para crear su aplicación y crear una distribución.
$ fastlane distribute
En este punto, su Fastfile debería verse como el siguiente:
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
Después de actualizar Firebase console, verás la nueva versión de tu aplicación.
5. Invita a los evaluadores a descargar tu aplicación
Cuando un evaluador acepta una invitación para probar una compilación ad hoc, se le solicita permiso para compartir su UDID. Si están de acuerdo, App Distribution recopila la información de su dispositivo y se lo notifica por correo electrónico. En esta sección, se agregará como tester para descargar y probar la aplicación que distribuyó.
Agréguese como tester al lanzamiento
- En
firebase_app_id
en la parte superior de su Fastfile, cree una variable para contener los evaluadores e incluya su propia dirección de correo electrónico, así como otras direcciones de correo electrónico opcionales que le gustaría probar.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
- Aplique el método Array#join de Ruby para convertir la matriz
app_testers
en una cadena separada por comas, que espera el parámetrotesters
. Luego, pase el resultado al parámetrotesters
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
En este punto, su Fastfile debería verse así:
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
- Corre el carril nuevamente.
$ fastlane distribute
Una vez que ejecute el carril, los evaluadores que agregó recibirán un correo electrónico de invitación de App Distribution notificándoles sobre la nueva versión disponible. En Firebase console, ahora puedes ver los testers que agregaste en la versión de tu aplicación.
Dado que incluyó su dirección de correo electrónico, recibirá un correo electrónico de Firebase App Distribution invitándolo a probar la aplicación. ¡Ahora eres el primer probador! Continúe con la sección siguiente para configurarlo como probador en su dispositivo de prueba.
Registre su dispositivo de prueba
Como tester, deberás iniciar sesión en Google en tu dispositivo de prueba para poder acceder a las versiones de aplicaciones que has sido invitado a probar. Debido a que su versión de prueba es una versión ad hoc, también deberá registrar su dispositivo de prueba instalando el perfil de Firebase. Posteriormente, podrá acceder a las versiones que estén disponibles para usted desde la aplicación web del probador de distribución de aplicaciones, utilizando el clip web que se agrega a la pantalla de inicio de su dispositivo.
- En su dispositivo de prueba iOS, abra el correo electrónico enviado desde Firebase App Distribution y toque el enlace Comenzar . Asegúrate de abrir el enlace en Safari.
- Ahora se encuentra en la aplicación web del probador de distribución de aplicaciones. En la página que aparece, inicia sesión con tu cuenta de Google y toca Aceptar invitación.
- Ahora puedes ver los lanzamientos a los que has sido invitado. Toque Registrar dispositivo en una de las versiones.
- Cuando se le solicite, descargue el perfil de Firebase y luego instálelo en la aplicación Configuración.
La instalación del perfil le otorga a Firebase permiso para:
- Registre el dispositivo de prueba recopilando su ID de dispositivo único (UDID).
Firebase envía a todos los propietarios y editores del proyecto de Firebase un correo electrónico que incluye el UDID del dispositivo de prueba.
- Instale un clip web en la pantalla de inicio del dispositivo de prueba. El clip web abre la aplicación web del probador de distribución de aplicaciones, que le permite instalar y acceder a todas sus aplicaciones de prueba.
En la aplicación web del probador de distribución de aplicaciones, su dispositivo de prueba ahora está registrado para el lanzamiento de su aplicación.
Ahora que has compartido el UDID de tu dispositivo de prueba con Firebase, puedes continuar como desarrollador. En la pestaña Probadores del panel de distribución de aplicaciones , la información de su probador ahora aparece debajo de la versión de su aplicación con el estado "Aceptado":
En la siguiente sección, agregará el UDID del dispositivo al perfil de aprovisionamiento de su aplicación y luego creará una versión de su aplicación que funcione con su dispositivo de prueba.
Exporte los UDID de su dispositivo de prueba
Como desarrollador, recibirás un correo electrónico de Firebase que contiene el UDID del dispositivo de prueba. Como opción, App Distribution facilita la recopilación de varios UDID de dispositivos nuevos a la vez al permitirle exportarlos directamente desde Firebase console como un archivo de texto sin formato.
- Para exportar todos los UDID, abra la pestaña Probadores y grupos .
- Haga clic en Exportar UDID de Apple .
El archivo debe contener el UDID de su dispositivo de prueba.
Device ID Device Name Device Platform
1234567890 udid.codelab.tester@gmail.com - iPhone SE 2nd Gen ios
Los UDID también se pueden exportar desde la línea de comando usando fastlane , lo que hará en la siguiente sección.
6. Actualice el perfil de aprovisionamiento de su aplicación y reconstrúyalo
Ahora, agregará el UDID de su dispositivo de prueba al perfil de aprovisionamiento de su aplicación, reconstruirá una versión de su aplicación que funcione para su dispositivo y distribuirá la nueva versión.
Agregar línea de exportación UDID
- Agregue otra variable en la parte superior de su Fastfile y configúrelo en una ruta de archivo donde se descargarán los UDID de los dispositivos de sus evaluadores.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
tester_udids_file = "tester_udids.txt"
- Configure una nueva ruta que utilice la acción de exportación de UDID del complemento App Distribution para descargar los UDID del probador, tal como lo hizo desde la consola.
lane :download_udids do
firebase_app_distribution_get_udids(
app: firebase_app_id,
output_file: tester_udids_file,
)
end
- Ejecute el siguiente carril para descargar los UDID.
$ fastlane download_udids
- Imprima el archivo descargado, que debe contener los UDID del dispositivo de prueba.
$ cat tester_udids.txt
Agregar dispositivos a la consola de desarrollador de Apple
- Cree el siguiente carril para agregar los UDID a su lista de dispositivos en la consola de desarrollador de Apple, de modo que pueda agregarlos a su perfil de aprovisionamiento mediante la acción
register_devices
de fastlane :
lane :add_new_devices do
register_devices(devices_file: tester_udids_file)
end
- Luego, recorre el carril:
$ fastlane add_new_devices
Luego deberías ver los nuevos dispositivos en la lista de dispositivos de tu consola de desarrollador.
Agregue dispositivos a su perfil de aprovisionamiento
- Agregue el argumento
force
al paso del perfil de aprovisionamiento en su líneabuild
, para obligarlo a seleccionar nuevos dispositivos cada vez que construya.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true, force: true)
build_app(export_method: "ad-hoc")
end
Vuelva a ejecutar el carril para construir y cargar
Ahora, actualizará su línea distribute
con las nuevas líneas para agregar los dispositivos al perfil de aprovisionamiento, reconstruir la aplicación y luego distribuirla.
- Llame a los nuevos carriles desde
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
- Ejecute el carril
distribute
:
$ fastlane distribute
En este punto, su Fastfile debería verse así:
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
Descargue la versión desde el dispositivo de prueba
Ahora que su aplicación incluye los UDID del dispositivo de prueba, se pueden instalar en los dispositivos de prueba.
- En su dispositivo de prueba, regrese a la aplicación web del probador de App Distribution usando el enlace en el correo electrónico o el ícono en la pantalla de inicio del dispositivo.
Cuando navega a la aplicación UDID codelab, puede ver que la versión está lista para descargar.
- Si está en un dispositivo físico, presione descargar, luego instale y ejecute la aplicación.
7. Felicitaciones
Ahora ha configurado App Distribution y fastlane para automatizar su proceso de prueba previo al lanzamiento. Ahora, cuando desee invitar a evaluadores adicionales o agregar sus UDID a su aplicación, solo necesitará ejecutar un comando: fastlane distribute
.
Así que ya no será necesario recopilar UDID individualmente de los evaluadores ni ir a la consola de desarrollador de Apple para actualizar listas de dispositivos o perfiles de aprovisionamiento. ¡Ni siquiera necesitas abrir XCode!
Este flujo de trabajo es fácil de configurar para ejecutarse cada hora o diariamente en su entorno de integración continua.
Otras lecturas
- Explore las funciones de Firebase App Distribution , incluido nuestro SDK integrado en la aplicación para iOS
- Más información sobre carril rápido
- Gestiona la firma de código de tu equipo con
match
- Integre fastlane en su CI