Certificado de iOS instalado por el website que permite vincular el UUID del dispositivo a la session

Me gustaría poder leer un dispositivo UUID desde un dispositivo iOS en una página web. Entiendo que no es posible usar JavaScript para problemas obvios de security, pero utilizo testflight todos los días y puedo ver que tienen acceso a los dispositivos uuid.

Parece que lo hacen al instalar un tipo de perfil de aprovisionamiento en su iPhone cuando registra su dispositivo.

¿Qué tipo de perfil de certificate / aprovisionamiento debo usar para hacer algo similar?

Entonces podría vincular un dispositivo UUID a una session de página web. Entiendo que esto requiere el reconocimiento por parte de los usuarios, lo cual es completamente aceptable para mí. . No estoy tratando de encontrar una forma de evitar el hecho de que no podemos acceder al uuid del dispositivo desde el código , lo estoy preguntando porque sé que testflight está haciendo esto

¡De acuerdo! Creo que lo entiendo ahora.

Tienes razón, el UDID, por supuesto, no es enviado por el browser. También estuve convencido de que fue eliminado por un defecto de security de Safari, o algo así, porque testflightapp agrega una identificación única similar a UDID, pero no.

Lo que realmente hacen es generar un DeviceID nuevo (no relacionado con UDID). Luego, para registrar el dispositivo, generan un perfil específicamente creado para este DeviceID, que contiene una carga de inscripción que inscribe el dispositivo contra una URL que contiene este DeviceID generado por testflightapp.

En este process de inscripción, el dispositivo solicita el perfil, para enviar el UDID (más otros datos). Esta es la información que solicita el perfil:

<array> <string>UDID</string> <string>IMEI</string> <string>ICCID</string> <string>VERSION</string> <string>PRODUCT</string> <string>MODEL</string> <string>DEVICE_NAME</string> </array> 

Por lo tanto, cuando el dispositivo le pide al server testflightapp que inscriba este dispositivo, pueden relacionar ese DeviceID almacenado en el perfil con el UDID real del dispositivo actual. Así es como muestran en el browser que el process se completa y conserva el UDID.

Pero, esto no completa la respuesta, porque no he resuelto (aún) cómo realmente relacionan esta session web con el UDID, incluso cuando la session muere, y el DeviceID queda huérfano. La respuesta parece ser (¡no confirmada, pero 99% segura!) De que el process de inscripción permite definir un WebClip para insertlo en su menu de Springboard. Este WebClip tiene en la URL escrita el UDID del dispositivo, por lo que cada vez que ingresas en el testflightapp a través de este WebClip, estás actualizando tu número de UDID a la session, así que no importa si la session muere.

¡Espero que mi publicación me ayude ahora! Lo siento de nuevo por la anterior incompleta-desinformada.