Home » Guías » Guía de TestFlight Beta Testing para usuarios internos y externos
TestFlight

Guía de TestFlight Beta Testing para usuarios internos y externos

El 9 de septiembre fue el pistoletazo de salida para muchas de las cosas que empezaron a gestarse en la Conferencia de Desarrolladores de Apple del pasado 2 de junio. Y uno de los elementos más importantes, es la consecución del servicio TestFlight de prueba de apps.

Tras la primera fase, ahora ya tenemos la posibilidad de probar las apps y juegos con hasta 25 usuarios de manera interna y hasta 10 dispositivos cada uno, así como invitar hasta a 1.000 usuarios externos por app, sin necesidad de registrar estos en nuestro programa de desarrollo. Eso sí, los testers externos solo podrán ver la app tras pasar la revisión por parte de Apple en un proceso similar a cuando la subimos a la App Store.

Cómo funciona

TestFlight es un servicio que muchos ya probamos en su día, que dependía de dar de alta uno a uno los dispositivos para pruebas en nuestro programa de desarrolladores, generar un perfil con ellos, firmar la app y subirla al servicio. Ahora todo esto se ha eliminado y es mucho más transparente. A nivel de funcionamiento desde Xcode, lo único que veremos es una app que se sube desde Application Loader 3 o desde Xcode 6.

Apple ha cambiado el flujo de funcionamiento con iTunes Connect haciéndolo más intuitivo. Cuando creamos el registro de nuestra app en iTunes Connect con los metadatos necesarios, tenemos que dar de alta una versión de la que podremos subir tantos builds como necesitemos. Cuando demos de alta esta versión, hemos de tener presentes los nuevos iPhone 6 y iPhone 6 Plus y sus resoluciones. Una vez dada de alta, tenemos dicha versión en estado “Prepare for Submission”.

App Details

MUY IMPORTANTE: Para subir una app a TestFlight, debemos generar un nuevo certificado de distribución. No sirven los que tengamos generados anteriormente al 24 de octubre. Estos nuevos certificados de distribución llevan incluida la opción de Beta Testing activada.

Firmado con un nuevo certificado de distribución para la App Store, podemos subir el binario de dicha versión desde Xcode 6 o Application Loader 3. Exactamente igual que si la enviaremos para revisión, aunque ahora no se enviará a revisión automáticamente. Solo se cargará en iTunes Connect. Nada más. Una vez recibido y validado el binario, el sistema nos permitirá pulsar sobre “Submit for Review” para enviar dicha versión a revisión para publicar, pero no es lo que queremos ahora.

Pruebas con testers internos

Si pulsamos en la pestaña Prerelease vemos Builds, donde aparece el binario subido y su versión. A la derecha vemos “Enable TestFlight Beta Testing” que todavía no vamos a tocar y que dejamos desactivado. Vamos a Internal Testers y allí veremos que tenemos un listado de todos nuestros usuarios de iTunes Connect con perfil Administrador o Técnico. Elegimos a quién queremos enviar nuestra app marcándolo y nada más. Si quieres incluir más usuarios, hay que darlos de alta en la opción “Users and Roles” del propio iTunes Connect.

Internal Testers Available

Volvemos a Builds y ahora sí, activamos “Enable TestFlight Beta Testing” para poner TestFlight en funcionamiento.

Enable TestFlight On

En ese momento, nuestros usuarios recibirán una notificación de instalación. Lo normal es que tengan instalada la app TestFlight para iOS, de forma que en ella revisarán la alerta y podrán instalar la app. Así de sencillo. Si se trata de una actualización, también nos avisará sin problema.

Testers externos

Ahora también podemos invitar a usuarios externos, pero para ello hay que enviar la app a Apple para revisión, aunque en la opción “Submit for Beta App Review” que tenemos junto a la versión.

Submit for Beta App Review

El sistema es muy simple, solo tenemos que, en la opción “External Testers”, pulsar en + y dar de alta tantos usuarios con su email, primer y último nombre. Podemos incluso usar un archivo CSV que si tenemos muchos para cargar. Una vez carguemos a todos y tengamos la app aprobada por Apple, podemos enviar invitaciones a nuestros usuarios para que la prueben.

Send Invites

Una de las últimas opciones que Apple ha incorporado, dado sobre todo la posibilidad de llegar hasta a 1.000 usuarios de prueba, es la facilidad de crear grupos. Cuando demos de alta un usuario (o varios) podremos especificar el grupo en que queremos incluirlo y luego invitar solo a los usuarios de ese grupo a las pruebas de nuestra app. De esta forma, tenemos una muy interesante forma de clasificar a nuestros usuarios.

Lo hagamos por usuarios o por grupos de los mismos, hay que esperar varios días a que Apple apruebe la versión que enviamos. Una vez hecho, elegimos y podremos pulsar en “Invite” para que el usuario que queramos reciba un email para probar la app. Así de simple.

Instalación en la app de TestFlight

El uso de la app es muy simple. Nuestros usuarios recibirán un email invitándoles a probar la app. Pulsando en “Open in TestFlight” se abrirá la app y nos dejará instalar. Una vez instalada, veremos que hay un círculo naranja a la izquierda del nombre. Y nada más. Ahora ya pueden probar o incluso enviar informes de uso o problemas a través de la opción “Send Feedback” de la app de TestFlight.

Dichos informes los recibiremos si hemos rellenado previamente en la sección Builds, los datos de información de contacto para que, a través de la app, nuestros usuarios puedan enviarnos esta información y feedbacks de sus pruebas. Como hemos dicho, podemos subir tantos Builds como queramos para ir corrigiendo errores y a cada nuevo se avisará a nuestros usuarios de una nueva versión.

Las versiones tienen una validez de 30 días, aunque podemos desactivar el programa de pruebas en cualquier momento.

Una vez terminado

Terminadas las pruebas, elegimos que build es el vamos a dejar puesto por defecto, desactivamos “Enable TestFlight Beta Testing” y ahora sí, pulsamos en “Submit for Review” para que Apple empiece a validar la app y si todo va bien, aprobarla y publicarla en el App Store.

Enable Test Flight Off

Un sistema sencillo que elimina tener que estar probando con diferentes firmas, perfiles, certificados y dispositivos. En la app de TestFlight, cada usuario podrá ver qué aplicaciones tiene autorizadas a probar, qué dispositivos están vinculados a su Apple ID e incluso limpiar dispositivos que ya no use o que no quiera usar para pruebas.

Si tenéis alguna duda al respecto del uso de TestFlight, no dudéis en poneos en contacto a través del formulario. Hasta entonces, Good Apple Coding.

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

Prototipos Unit Testing TDD

Lecciones por prototipos (II): test unitarios (XCTest y TDD)

Una de las cosas que normalmente se perciben más complejas en el desarrollo en cualquier …

  • Pingback: Pasos a seguir para publicar en la App Store | AppleCoding()

  • Mario

    una consulta mi aplicacion está en ios sdk 7,puedo instalar en un dispositivo con ios 8

    • Julio César Fernández

      Hola Mario,

      Sí puedes. No hay ningún problema. Por ahora Apple no obliga a usar la SDK de iOS 8, aunque lo hará a partir de febrero de 2015 (en cuanto a subir una app a la App Store). Lo que sí has de tener cuidado son con los “pequeños” cambios entre ambos sistemas. Por ejemplo, nosotros vamos a lanzar un juego en SpriteKit para iOS 7 con la SDK de la 7.0. Pero a la hora de compartir el resultado de tu partida, invocamos un UIActivityController (el diálogo de compartir). En iOS 7 puedes invocarlo en iPad con un PresentViewController, pero si la app se ejecuta en un dispositivo con iOS 8 (aunque la SDK sea del 7) no lo admite y se cuelga porque tienes que usar un control UIPopOverController (esto está explicado en nuestra última guía sobre las alertas).

      Espero haber resuelto tu duda y un saludo,
      Julio

  • Hola Julio César,

    Primero mis felicitaciones por está guía excelente, además aplaudo que Apple haya mejorado enormemente el proceso para subir una app y con Test Flight dieron un paso gigante en la fase de testing, yo ahora me encuentro haciendo pruebas con mi último juego con unas 20 personas y el sistema de enviar las versiones y el feedback recibido es lo máximo.

    Mi juego anterior a este fue en 2011 y era toda una pesadilla iTunes Connect y perfiles y certificados, yo bromeaba con varios colegas y les decía que era más fácil hacer el juego que subirlo a la App Store.

    Mi consulta es la siguiente, tengo dos compras inApp del tipo no-consumible y mi app está en estado “Prepare for Submission”, pero no me deja probar las compras en mi juego, por supuesto las dos compras están en estado “Ready to Submit”, esto es normal? Solo puedo probar las compras in-App después de pasar el review de Apple y desactivar TestFlight?

    De verdad si me puedes ayudar te lo agradezco mucho, gracias por adelantado.

    • Julio César Fernández

      Hola,

      Para probar las compras in App tienes que crear un usuario sandbox en la preferencias de iTunes Connect. Luego, en el dispositivo entras en Ajustes, iTunes y App Store y salir de la cuenta que tengas quedando sin cuenta alguna.

      Cuando pruebes el juego usa ese usuario y clave de sandbox (que no has de completar ni usar en iTunes pues se desconfigura) y nada más. En el Simulador también podrás probar con dicho usuario.

      El sandbox user debe ser un email que no se haya usado nunca como AppleID.

      Si tienes cualquier otra duda o problema dímelo y te guiaré.

      Un saludo y gracias por tus palabras sobre la guía. Me encanta que te sea útil y sí, el proceso de subida es la noche y el día de lo que es a lo que era.

      Julio

  • Muchas gracias Julio,

    Todo funciono perfectamente, nuevamente te felicito por todas tus guías, deberías escribir un libro y publicarlo en la App Store.

    Un abrazo,

    • Julio César Fernández

      Muchas gracias a ti. Me alegro que todo haya ido bien. Y sí… el libro lo estoy escribiendo, pero no uno… sino tres. Te invito a que te suscribas al Boletín de noticias de Apple Coding Books si quieres saber más.

      Un abrazo para ti igualmente.

  • Hola Julio,

    Cuando una beta se envía para la revisión, cuánto tiempo tarda en ser revisada por Apple y que los beta testers externos puedan descargarla? Llevo esperando una hora y sigue esperando para revisión :-/

    • Julio César Fernández

      Hola Ismael,

      Las betas son revisiones completas de la app, como si se enviaran a publicar. Han de pasar principalmente las pruebas de seguridad. Lo normal es que tarde unos días. Así que paciencia.

      Un saludo,

  • Dunia

    Hola Julio,
    Muy buena guía, me ha ayudado mucho.
    Soy novata y me ha surgido una duda. Tengo varios dispositivos con diferentes sistemas operativos, para poder descargar la nueva app de Testflight me exige iOS 8.0 o superior. Sabes como probar las apps en dispositivos con iOS 7.1? Un saludo agradecido 🙂

    • Julio César Fernández

      Hola Dunia,

      Testflight es solo compatible para iOS 8. En iOS 7 tendrás que hacerlo a la vieja usanza. Debes tener dados de alta los UDID de cada dispositivo autorizado en un perfil con el que firmes el IPA para AD-Hoc. Luego ese IPA lo puedes poner en dropbox y pasarle el enlace de descarga a los usuarios que quieras. También puedes buscar servicios parecidos como Applause SDK.

      Un saludo,

  • Manuel

    Hola Julio, me gustaría adentrarme en testflight pero cuando intento acceder a la web me devuelve un mensaje del tipo: “Tu ID de Apple no está activado para iTunes Connect” estoy dado de alta como desarrollador, ¿donde se puede activar?
    Muchas gracias

    • Julio César Fernández

      Hola Manuel:

      Si estás dado de alta en el programa de desarrolladores de Apple y has pagado su cuota anual, debería aceptar tu ID. Solo con el programa de pago es donde se tiene acceso a iTunes Connect, que es donde se gestionan las apps que subes y pones a la descarga o venta.

      Un saludo

  • Ange

    Hola !!
    Que padre encontrar post en español tan claros como el tuyo 🙂
    Una pregunta, qué pasa cuando apple autorizó mi app beta pero quiero quitarla ahora porque ya tengo otra versión para probar, estuve buscando como eliminar la versión actual y no me aparece algo relacionado, ojalá puedas brindarme algún consejo, gracias!!!

    • Julio César Fernández

      Hola Angie,

      El procedimiento no funciona como comentas. Por cada versión que tengas en TestFlight (cuando son cambios mayores como paso de la versión 1.x a la 2.x) tienes la opción de habilitar o deshabilitar para dicha versión el uso de TestFlight Beta Testing. Como explica en el artículo, antes de enviar una versión tienes que deshabilitarlo.

      Pero la respuesta a tu pregunta es que los Builds no se eliminan si no que se suben aumentando el número de la Build que puedes definir en Xcode. La última de las Builds será la activa y las demás pasarán a estado inactivo a nivel histórico. Si la primera que subiste era la Build 101, sube la 102 o la 103… un número de build que sea superior. El sistema lo detectará y dará prioridad y activará dicha última build de numeración superior dejando el resto inactivas a nivel histórico.

      Esto se debe a que si quieres acceder a las incidencias o históricos de feedbacks de usuarios, puedas hacerlo siempre de todas las builds subidas.

      Si tienes cualquier otra duda, no dudes en comentarlo y nos alegramos que la página te haya sido de gran ayuda.

      Un saludo y gracias por elegirnos.

      • Ange

        Muchas muchas muchas gracias Julio!!!!! Ahora ya está disponible mi última versión que subí, hice lo que comentas, deshabilitar, subir binario y volver habilitar..
        Soy felíz 😀

        • Julio César Fernández

          Muchas de nadas Angie. Espero que tu proyecto llegue a buen puerto y sea todo un éxito. Háznoslo saber cuándo esté publicado 🙂

          Saludos.

  • Pingback: Apple Watch, cómo subir una app al App Store | Apple Coding()

  • Sergio

    Hola. Hoy en día creo que la interfase de iTunnesConnect es un poco diferente.
    Tenemos la opción de TestFlight directamente en la barra de menú dentro de la página de nuestra app.
    Les hago una consulta. Para probar las notifiaciones push en una app a través de TestFlish es necesario utilizar un certificado de desarrollo o de producción? Y qué pasa si ya tenemos una versión de la app publicada en la store y ahora queremos probar una nueva build con esta característica.
    Muchas gracias.

    • Mario Fernández Vargas

      Sergio encontró la respuesta, se puede hacer con un certificado de desarrollo?

  • Jorge

    Hola, me gustaría saber si existe alguna diferencia entre la app de distribución y la de tester, ya que yo tengo una que he probado en diferentes usuarios y va correctamente, y cuando la envio a revisar me la rechazan ya que no les carga. Y como digo a mi me funciona en la misma versión de IOS que ellos dicen que la prueban.

    Gracias,

    • No existe diferencia, pero pueden pasar muchas cosas para que te la rechace. La mejor forma es enviarla a pruebas de usuarios externos antes de elegir la Build que vas a enviar a revisión. No obstante, con estos pocos datos es complicado poder discernir qué sucede cuando la envías a Apple.