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?
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?
Respuestas:
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.
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.
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 .
Testflight básicamente usa el Ad Hoc normal como ya se dijo.
Para que esto funcione, necesita el UDID
de 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 UDID
con 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 UDID
nombre del teléfono, ...
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.
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.