Separe o exemplo do perfil real
Extraia embedded.mobileprovision do seu próprio pacote de aplicativo. O exemplo é um CMS sintético sem signatários, criado para explorar as visualizações. Não é um perfil emitido pela Apple e não pode ser instalado.
iOS / Android Dev Tools
Escolha um arquivo local ou carregue o exemplo sintético. Depois de decodificar, alterne entre resumo, direitos, árvore e XML.
Solte um arquivo .mobileprovision ou .provisionprofile. Máximo de 5 MiB.
Nenhum arquivo selecionado
A leitura fica nesta aba. A ferramenta não envia nem salva o arquivo.
Substitui strings conhecidas e esvazia dados binários. Equipe, app e outros metadados permanecem. Decodifique de novo após mudar a opção.
Escolha um arquivo e decodifique.
Decodificar não verifica assinaturas, certificados, revogações nem possibilidade de instalação.
A exportação é uma cópia XML sem assinatura, não um perfil instalável.
Ver perfil de provisionamento ajuda quando uma compilação usa a equipe errada ou um aparelho de teste não instala o app. Compare o arquivo realmente incluído no aplicativo com a cópia baixada, principalmente quando os nomes são parecidos mas os conteúdos diferem.
O leitor percorre a estrutura CMS do arquivo mobileprovision até o XML encapsulado. Ele não aceita apenas um trecho XML encontrado no meio de bytes arbitrários. Sistemas recentes podem usar DER-Encoded-Profile como referência; esta página mostra a representação legível para diagnóstico.
Ver perfil de provisionamento permite relacionar equipe, identificador do app e data de expiração com os caminhos originais. A visualização separada dos Entitlements preserva arrays e booleanos, evitando confundir uma permissão com texto ou com um resultado de validação.
O UDID dos dispositivos é substituído por padrão, inclusive quando reaparece em outras strings. Os dados binários ficam vazios, pois podem carregar outra cópia dos identificadores. Equipe e metadados do app continuam visíveis: essa ocultação não torna o arquivo anônimo.
Extraia embedded.mobileprovision do seu próprio pacote de aplicativo. O exemplo é um CMS sintético sem signatários, criado para explorar as visualizações. Não é um perfil emitido pela Apple e não pode ser instalado.
Alterar a ocultação remove o resultado anterior e bloqueia a exportação. Execute novamente pelo botão ou por Ctrl/Cmd + Enter. Trocar apenas a visualização entre resumo, árvore e XML não muda os dados já lidos.
Clique no caminho de um dicionário ou array para recolher seus descendentes. A árvore acrescenta 50 linhas por vez; a exportação mantém todo o XML atual. Limpar ou trocar o arquivo exige uma prévia e permite desfazer uma vez.
Name, UUID, TeamName e TeamIdentifier aparecem juntos. O Bundle ID é derivado removendo o primeiro segmento de prefixo de application-identifier, com suporte à chave alternativa do macOS. Curingas são preservados e valores ausentes não são inventados.
Entitlements tem uma visualização própria que distingue dicionários, arrays, booleanos, inteiros, datas e dados. Esses direitos descrevem o que o perfil permite, não necessariamente o que a assinatura do app solicita. A ferramenta também não compara esses dois conjuntos.
CreationDate e ExpirationDate permanecem em UTC. A expiração é comparada com o relógio do navegador no momento da decodificação. O resultado distingue expirado, ainda não expirado e desconhecido. Um relógio errado afeta a comparação e uma data futura não comprova uma assinatura válida.
O XML é extraído do conteúdo SignedData, preservando ordem das chaves e tipos dos valores. Com a ocultação ativa, identificadores conhecidos são substituídos e todos os elementos data são esvaziados. Para obter os valores completos, desative a opção e decodifique novamente.
Selecione o arquivo local e clique em Decodificar. Primeiro o leitor confere a estrutura CMS e depois lê o plist XML encapsulado. Um trecho legível no editor de texto não garante que o arquivo inteiro tenha o formato de contêiner compatível.
Expanda ProvisionedDevices na árvore. Por padrão, a quantidade é mantida e os identificadores são substituídos. Desative a ocultação e decodifique de novo para ler os valores reais. Uma lista ausente não significa automaticamente autorização para todos os aparelhos.
Confira ExpirationDate e o horário da comparação no resumo. Isso mostra se a data registrada passou segundo o seu relógio. A aceitação do certificado, da assinatura e do perfil pela Apple precisa ser verificada com as ferramentas da plataforma.
Descompacte por conta própria o IPA de desenvolvimento ou Ad Hoc e encontre embedded.mobileprovision no pacote do app dentro de Payload. Esta página não descompacta IPA. Apps distribuídos pela App Store podem não incluir esse arquivo.
Alterar a data no XML exportado não prolonga o perfil assinado pela Apple. A cópia não tem assinatura CMS. Atualize ou gere o perfil pela conta de desenvolvedor ou pelo Xcode e compile novamente o app usando o arquivo apropriado.
Falta algum detalhe sobre a leitura de perfis?
Ver perfil de provisionamento ajuda a conferir equipe, dispositivos e direitos do arquivo usado na compilação. Guarde o XML como registro de diagnóstico e recorra às ferramentas da Apple para decisões sobre assinatura ou confiança.