iOS / Android Dev Tools

Ver perfil de aprovisionamientoExplora el XML interno

Elige un archivo local o carga el ejemplo sintético. Tras decodificarlo, consulta el resumen, los derechos, el árbol y el XML.

Ver perfil de aprovisionamiento

Archivo del perfil

Arrastra un archivo .mobileprovision o .provisionprofile. Máximo 5 MiB.

Ningún archivo seleccionado

Resultado

La lectura se realiza en esta pestaña. La herramienta no sube ni guarda el archivo.

Opciones

Sustituye las cadenas conocidas y vacía los datos binarios. Equipo, app y otros metadatos permanecen. Vuelve a decodificar tras cambiar la opción.

Elige un archivo y decodifica.

Decodificar no verifica firmas, certificados, revocaciones ni posibilidad de instalación.

La exportación es una copia XML sin firma, no un perfil instalable.

Ver perfil de aprovisionamiento ayuda cuando una compilación usa el equipo equivocado o un dispositivo de prueba no puede instalar la app. Conviene comparar el archivo realmente incluido en la aplicación con la copia descargada, especialmente si tienen nombres parecidos.

El lector sigue la estructura CMS del archivo mobileprovision hasta el XML encapsulado. No acepta un fragmento XML encontrado entre bytes arbitrarios. Los sistemas modernos pueden basarse en DER-Encoded-Profile; esta página ofrece la representación legible para investigar problemas.

Por qué ver perfil de aprovisionamiento

Relaciona el resumen con los campos originales

Ver perfil de aprovisionamiento permite comparar el equipo, el identificador y la fecha de expiración con las rutas de los campos. Los Entitlements conservan sus tipos, de modo que una lista o un booleano no se confunden con texto ni con una conclusión de validación.

Un contenedor de perfil se abre en un árbol con ramas de identidad, calendario y permisos.

Oculta los dispositivos también al exportar

Los UDID de dispositivos se sustituyen por defecto, incluidas sus repeticiones en otras cadenas. Se vacían los datos binarios porque pueden guardar otra copia de esos identificadores. El equipo y la app siguen siendo reconocibles: ocultar estos valores no anonimiza el documento.

Las filas de dispositivos se cubren en la pantalla y en el documento exportado, mientras permanecen otros metadatos.

Empieza por el archivo de la compilación

01

Distingue el ejemplo del perfil real

Extrae embedded.mobileprovision de tu propio paquete de aplicación. El ejemplo es un CMS sintético sin firmantes, destinado a explorar las vistas. No es un perfil emitido por Apple ni un archivo que puedas instalar.

02

Vuelve a decodificar al cambiar la opción

Cambiar la ocultación elimina el resultado anterior y desactiva la exportación. Ejecuta de nuevo con el botón o Ctrl/Cmd + Enter. Cambiar solo entre resumen, árbol y XML no altera los datos ya leídos.

03

Abre las ramas necesarias

Pulsa la ruta de un diccionario o matriz para plegar sus descendientes. El árbol añade 50 filas cada vez, pero la exportación conserva todo el XML actual. Borrar o sustituir el archivo exige una vista previa y permite deshacer una vez.

Encuentra el campo que explica el fallo

Equipo e identidad de la app

Consulta Name, UUID, TeamName y TeamIdentifier juntos. El Bundle ID se deduce eliminando el primer segmento de prefijo de application-identifier, con la clave alternativa de macOS como respaldo. Se conservan los comodines y no se inventan los valores ausentes.

Derechos con sus tipos

Entitlements dispone de una vista propia que distingue diccionarios, matrices, booleanos, enteros, fechas y datos. Estos derechos delimitan lo permitido por el perfil; no son necesariamente los derechos reclamados por la firma de la app. La herramienta tampoco compara ambos conjuntos.

Fechas con hora de comprobación

CreationDate y ExpirationDate permanecen en UTC. La expiración se compara con el reloj del navegador en el momento de decodificar. Se distingue entre vencido, aún no vencido y desconocido. Un reloj incorrecto afecta al resultado y una fecha futura no demuestra una firma válida.

Extracción estructurada del plist

El XML se extrae del contenido SignedData y conserva el orden de claves y los tipos. Si se ocultan identificadores, se sustituyen las cadenas conocidas y se vacía cada elemento data. Para recuperar los valores completos hay que desactivar la opción y decodificar de nuevo.

Alcance de la lectura y de la copia

Sin veredicto de confianza ni instalación
No se verifican firmas CMS, cadenas de certificados, revocaciones o confianza de Apple, ni se determina si la app puede instalarse. Se avisa si el contenedor carece de firmantes. Decodificar correctamente solo significa que la estructura admitida es legible.
El DER interno no se interpreta
Los sistemas actuales pueden utilizar DER-Encoded-Profile como referencia. Esta herramienta no interpreta su contenido interno ni lo compara con el XML. Los campos desconocidos se conservan sin asignarles significados inventados ni inferir automáticamente el tipo de distribución.
Un formato de entrada concreto
Se acepta un CMS SignedData binario con un plist XML UTF-8 incorporado. Admite BER de longitud definida o indefinida y cadenas de octetos construidas. Se rechazan XML suelto, plist binario, CMS separado o cifrado; no se abren IPA, P12 ni direcciones URL.
Ocultar no equivale a anonimizar
Los identificadores de ProvisionedDevices se sustituyen en cadenas y claves, y se vacían los datos binarios. Nombres, equipos, Bundle ID y otros metadatos permanecen. Revisa el contenido antes de compartirlo; para obtener los valores íntegros es necesario volver a decodificar sin ocultación.
Límites y salida sin firma
El archivo admite hasta 5 MiB, cada analizador hasta 10000 nodos y 64 niveles, y el XML generado hasta 10 MiB. Se rechazan claves duplicadas y valores mal formados. La exportación elimina la envoltura CMS y no permite renovar, firmar ni instalar un perfil.

Ver perfil de aprovisionamiento: preguntas

¿Cómo se abre un archivo mobileprovision?

Selecciona el archivo local y pulsa Decodificar. Primero se comprueba la estructura CMS y después se lee el plist XML encapsulado. Que un editor de texto muestre fragmentos legibles no demuestra que el contenedor completo tenga la estructura admitida.

¿Cómo veo los UDID de los dispositivos incluidos en una compilación?

Expande ProvisionedDevices en el árbol. Por defecto se conserva la cantidad y se sustituyen los identificadores. Desactiva la ocultación y decodifica otra vez para ver los valores reales. Si falta la lista, no significa automáticamente que se permitan todos los dispositivos.

¿Cómo compruebo la fecha de expiración del perfil?

Mira ExpirationDate y la hora de comparación del resumen. Así sabrás si la fecha registrada ya pasó según el reloj actual. Para saber si Apple acepta el certificado, la firma o el perfil debes recurrir a las herramientas de la plataforma.

¿Qué perfil se utilizó para generar un archivo IPA?

Descomprime por tu cuenta el IPA de desarrollo o Ad Hoc y busca embedded.mobileprovision en el paquete de la app bajo Payload. Esta página no descomprime IPA. Las aplicaciones distribuidas por el App Store pueden no llevar un perfil incorporado.

¿Se puede cambiar la fecha de expiración de un perfil?

Cambiar la fecha del XML exportado no amplía la vigencia del perfil firmado por Apple. Esa copia carece de firma CMS. Actualiza o genera el perfil mediante tu cuenta de desarrollador o Xcode y vuelve a compilar con el archivo correspondiente.

¿Falta algún detalle sobre la lectura de perfiles?

Investiga la siguiente discrepancia

Ver perfil de aprovisionamiento permite revisar el equipo, los dispositivos y los derechos del archivo utilizado en la compilación. Guarda el XML como evidencia de diagnóstico y usa las herramientas de Apple para decisiones de firma o confianza.