¿Cómo lo hace TestFlight?

197

TestFlight ofrece distribución beta inalámbrica de aplicaciones iOS (en dispositivos sin jailbreak). ¿Cómo se puede hacer esto? ¿Es esta una característica de iOS o una vulnerabilidad de vulnerabilidad?

hpique
fuente
Gran pregunta, pero no estoy seguro si esto es sobre el tema. Está al límite, OMI. Dicho esto, me encantaría saber la respuesta a esto también, así que +1
Moshe
Si se trata de una función de iOS, seguramente me ayudará a comprender mejor el aprovisionamiento.
hpique
12
@Moshe: ¿Puedes explicar por qué crees que esto está fuera de tema?
Besi
Por lo tanto, la pregunta está relacionada con una herramienta de distribución, no de ninguna manera con la escritura de código. Dicho esto, escribí mi comentario hace casi un año. El ambiente en SO era un poco diferente.
Moshe
8
Esta es una muy buena pregunta.
Miembro orgulloso

Respuestas:

87

Esto fue posible antes de que TestFlight lanzara un servicio. La técnica surgió del mecanismo de distribución empresarial. Desde 4.0 los dispositivos han admitido la instalación desde la web.

Recuerde: aún debe firmar la distribución beta para un conjunto selecto de UDID que no puede simplemente instalarlo en cualquier dispositivo. Todo lo que están haciendo es quitarle el correo electrónico al IPA.

Ver:

Actualización: Sin embargo, quiero decir que Test Flight es una de las herramientas más útiles que he usado al desarrollar. Solo quitar el correo electrónico de la IPA de la imagen fue un eufemismo, solo estaba tratando de llamar al mecanismo técnico. Hacen un trabajo fantástico gestionando todo el proceso beta. Obtener nuevos dispositivos inscritos. Notificar a los usuarios, etc.

Mella
fuente
66
¿Cómo hacen dinero, dice gratis en la página de inicio?
Jonathan.
1
Me imagino que comenzarán algún tipo de oferta premium en el futuro. Ahora es gratis y el nuevo SDK es realmente impresionante. Puede recopilar registros de fallos e información de uso directamente de sus clientes de prueba e incluso simbolizarlos si se siente cómodo cargando sus dsyms.
Nick
77
Es bastante impresionante, solo estoy acostumbrado a "Si es demasiado bueno para ser verdad, generalmente lo es" en Internet :)
Jonathan.
Sospecho que ganarán dinero cobrando por sus servicios en producción y mantendrán los servicios beta gratuitos. Actualmente no admiten oficialmente el uso de producción, y siguen aludiendo a una próxima "solución para la producción" en sus foros de soporte.
Nils
55
@ Nick Creo que tu respuesta no es del todo correcta. You still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device. Para un perfil de aprovisionamiento de distribución empresarial no tiene que especificar los dispositivos y puede (al menos técnicamente) instalar el binario en cualquier dispositivo. Sin embargo, la licencia le restringe a instalarlo solo dentro de la compañía a la que se emitió el perfil de distribución.
Besi
91

Este artículo mostró cómo funciona la implementación de Apple OTA y también se puede usar fuera de las empresas: distribución de aplicaciones inalámbricas iOS

El proceso completo está documentado por Apple . Apple también publicó documentación y código de muestra para registrar dispositivos y obtener el UDID mediante el uso de perfiles, para que su sitio web pueda detectar qué dispositivo está llamando.

Algunas soluciones adicionales con diferentes fortalezas:

  • iOS Beta Builder , una aplicación de Mac para crear el sitio web mediante una compilación. Simplemente cargue los archivos resultantes en su servidor web.

  • Diawi : servicio web simple. Cargue su archivo IPA, opcionalmente establezca una contraseña y envíe un enlace a sus evaluadores.

  • AppSendr : servicio web para hosting de compilación beta, similar a Testflight, pero no incluye el proceso de registro del dispositivo. Pero proporciona utilidades de implementación para cargar automáticamente nuevas versiones.

  • HockeyKit : proyecto de código abierto para alojar versiones beta en su propio servidor PHP5 con funcionalidades adicionales como un cliente para actualizaciones en la aplicación, sitios web específicos de dispositivos automáticos y manejo de múltiples aplicaciones. Completamente basado en archivos y directorios.

  • HockeyApp : Servicio web para hosting de compilación beta, actualizaciones en la aplicación, estadísticas e incluye registro, invitación y reclutamiento de dispositivos. También proporciona la recopilación de informes de fallas del lado del servidor, la simbolización (para todos los hilos) y la agrupación de fallas para las aplicaciones beta y de la tienda de aplicaciones (iOS + Mac). Los SDK son de código abierto, utilizando HockeyKit , QuincyKit y PLCrashReporter (que es la única solución segura sobre cómo hacer la recopilación de informes de fallas en iOS, consulte este artículo .

Nota: Soy el desarrollador principal de HockeyKit y QuincyKit , y uno de los desarrolladores de HockeyApp .

Kerni
fuente
5

Testflight básicamente usa el Ad Hoc normal como ya se dijo.

Para que esto funcione, necesita el UDIDde cada dispositivo para agregarlo al perfil Ad Hoc, volver a compilar la aplicación con el nuevo perfil y redistribuir la nueva compilación.

Puede obtenerlo UDIDcon la ayuda de la Solicitud de autenticación OTA. Este es realmente un paso que se realiza en MDM antes de que el perfil real se implemente en el dispositivo. Básicamente le pide al dispositivo más información sobre sí mismo y lo envía de vuelta a un servidor auto especificado.

El primer paso se documenta aquí: Configuración de Apple OTA

Supongo que Testflight usa esto justo después del proceso de registro para recopilar el UDIDnombre del teléfono, ...

Thomas Fankhauser
fuente
4

Sí, esta es una característica central de iOS para clientes empresariales que desean distribuir OTA.

Presumiblemente, pasaría su UDID a TestFlight junto con la aplicación y ellos usarán su Licencia Enterprise para enviarle la aplicación. Estoy seguro de que me faltan muchos detalles técnicos, pero si quieres saber más, Apple tiene un video sobre esto de WWDC 2010.

Inicie sesión en developer.apple.com, vaya a Videos de WWDC 2010 y use el enlace para llegar a los videos. El video que desea es "Sesión 108 - Administración de dispositivos móviles". Es muy informativo sobre lo que es posible con OTA y los pasos que debe seguir para realizar el aprovisionamiento de OTA.

Gato robótico
fuente
0

Los dispositivos iOS comunes son "vulnerables" a ejecutar el usuario que carga aplicaciones Ad Hoc de cualquier desarrollador que tenga el UDID de ese dispositivo, y registra ese UDID entre sus 100 dispositivos permitidos en el portal de desarrolladores de Apple.

La distribución OTA es solo otra forma de instalar una distribución de prueba beta Ad Hoc de un desarrollador inscrito.

hotpaw2
fuente