¿Cómo funciona la implementación de TestFlight?

Apple tiene un sistema para el despliegue por aire. El sistema permite que los sitios web soliciten información de un dispositivo móvil, específicamente el UDID o el identificador único del dispositivo.

El UDID luego se pasa al desarrollador. Apple permite a los desarrolladores implementar aplicaciones y certificados para realizar operaciones en un dispositivo iOS. Generalmente hay cuatro tipos de certificados en uso frecuente.

  1. Un certificado Ad-Hoc permite una instalación limitada en hasta 100 dispositivos.
  2. Un certificado Enterprise permite la instalación dentro de una empresa o empresa autorizada.
  3. Un certificado de AppStore permite la instalación desde AppStore
  4. Un certificado MDM permite el control de varias configuraciones y la implementación de aplicaciones utilizando los métodos 1, 2 y 3.

TestFlight opera principalmente en el elemento n. ° 1 y algunos en el n. ° 2. Una vez que un desarrollador firma digitalmente una aplicación, puede cargarla y enviar un enlace. El enlace apunta el iPhone a un archivo .plist que indica el ícono para que la aplicación se muestre durante la descarga y algunos metadatos adicionales.

El iPhone descargará el archivo y verificará el certificado.

Este artículo de Apple describe los detalles de la instalación por aire.
http://help.apple.com/iosdeploym…

Mi empresa: http://www.appblade.com desarrolla herramientas y tecnologías que resuelven el n. ° 1 pero se enfoca más en las características avanzadas de las capacidades Enterprise y MDM (ítems 1-4) para permitir la administración completa de aplicaciones y dispositivos para organizaciones más grandes.

La implementación más allá de TestFlight puede incluir la implementación de Enterprise Push. Los usuarios pueden recibir una notificación push para instalar o actualizar una aplicación. Con las herramientas empresariales, puede eliminar todos los pasos UDID que son necesarios con la implementación de AdHoc. La implementación empresarial es compatible con testflight pero sin la funcionalidad MDM Push.

Otros métodos de implementación pueden incluir VPP, esto significa Programa de compras por volumen para empresas y permite a las empresas comprar aplicaciones AppStore y enviar estas aplicaciones precompradas a los dispositivos de los empleados.

Documentación adicional sobre el despliegue por aire:
http://help.apple.com/iosdeploym…

Testflight básicamente utiliza la compilación Ad Hoc normal.
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 obtener el 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í:

Página en apple.com

Testflight utiliza esto justo después del proceso de registro para recopilar el UDID, el nombre del teléfono, …

El proceso está disponible desde iOS 4 y está documentado por Apple: https://developer.apple.com/libr

Incluso el registro del dispositivo es parte de las mejoras empresariales de Apple y está disponible como un script de ruby ​​de muestra. Entonces, la magia es proporcionada por Apple, y funciona no solo para cuentas Enterprise, sino para cualquier perfil Ad-Hoc.