Estou recebendo o erro 'temido' The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016).
ao tentar implantar meu primeiro aplicativo em um dispositivo sem jailbreak no iOS 4.2.6 (Verizon). O problema é que eu não tenho um Entitlements file
no meu projeto, pois não o estou distribuindo, apenas colocando-o em um dispositivo. Eu passei por todos os loops e loops que a apple coloca você (certificado, dispositivo, aprovisionamento) direto ao ponto, e não consigo descobrir o que está errado.
Alguém pode me ajudar com esse problema?
iphone
objective-c
code-signing
provisioning-profile
code-signing-entitlements
Richard J. Ross III
fonte
fonte
Build Settings > Code Signing > Code Signing Entitlements
me permitiu criar este projeto.Respostas:
Acabei de me deparar com esse problema, o problema era que eu tinha um arquivo Entitlements.plist no projeto como parte de uma distribuição ad hoc e sua propriedade get-task-allow (ou seja, 'pode ser depurada') foi definida como NO - configurá-lo como SIM corrigiu o problema e permitiu que o aplicativo fosse executado a partir do Xcode4 no dispositivo em desenvolvimento.
Naturalmente, é necessário defini-lo novamente como NÃO para distribuições ad hoc, mas apenas pensei em mencioná-lo caso alguém encontre o mesmo problema.
fonte
Eu tive esse problema com o Xcode 4.2.1.
Para mim, não tinha nada a ver com o arquivo de direitos ou Ad-hoc ...
Eu estava voltando para um projeto antigo e tinha esquecido de adicionar meu novo iPhone à provisão.
Erro bobo, mas também uma mensagem de erro correspondente boba ...: - /
fonte
Se você estiver usando o react-native, verifique se o destino de Teste tem o mesmo perfil de provisionamento que o principal.
fonte
Eu tive esse problema com os direitos do iCloud. Meu problema foi que esqueci de ativar o iCloud para o meu App ID no Portal de provisionamento.
Depois de ativar o iCloud para o seu ID do aplicativo, você precisará recriar os perfis de provisionamento.
fonte
Mantenha seu arquivo de direitos em Destino> Configurações de compilação> Assinatura de código> Direitos de assinatura de código.
Vá para Alvo> Recursos. Alterne entre Ativar / Desativar ou Desativar / Ativar um dos recursos.
Corre.
fonte
O que funcionou para mim foi excluir completamente o arquivo de direitos, da lista de grupos e das Configurações de Compilação no Projeto e no Destino. Em seguida, recriei os direitos da guia Resumo no destino e ele carregou bem sem nenhuma mensagem de erro.
fonte
Apenas colocando meus 5 centavos aqui. Para mim, nenhuma das opções acima funcionou, então fui forçado a me estressar e realmente olhar para cada parte do processo com novos olhos.
Ao me apressar, esqueci que estava tentando instalar meu aplicativo em um dispositivo totalmente novo.
Portanto, meu erro foi que eu não havia atualizado meu perfil de provisionamento marcando meu novo dispositivo na seção "Dispositivos" da configuração do perfil de provisionamento no Portal de provisionamento.
Aparentemente, a não inclusão do seu dispositivo no perfil de provisionamento também gera essa mensagem de erro.
fonte
Nenhuma das muitas respostas corrigiu o erro 0xE8008016 para mim.
Mas quando eu escolhi "Provisionamento automático de dispositivos" no Xcode 4> Organizador> Dispositivos> Perfis de provisionamento, ele finalmente funcionou.
fonte
No meu caso, foi um erro estúpido. Defina incorretamente o esquema "Executar" para usar a configuração de compilação "Distribuição" em vez da configuração "Debug" ou "Release". Erro estúpido, mas demorou um pouco para depurá-lo, então vou adicionar minha resposta para melhorar a base de conhecimento dentro do estouro de pilha!
fonte
Exclua seus perfis de aprovisionamento, faça um 'Limpar tudo', verifique se as configurações de aprovisionamento estão corretas, faça o download novamente e tente executar novamente.
fonte
fonte
Eu tive o mesmo problema no meu aplicativo. Depois de alguns meses, esse aplicativo específico funcionou bem.
O problema era que os Recursos configurados no meu projeto do Xcode (em Destinos -> {NomeDo Projeto} -> Recursos) não eram iguais aos Recursos configurados no perfil de provisionamento (você pode verificar isso no centro de membros da Apple em Identificador -> Aplicativo Ids -> {your app ID}. No centro de membros, vi que o Game Center estava ativado e, no meu projeto, também habilitei o Game Center. Em seguida, o aplicativo foi iniciado.
Não sei como funcionou até agora. Isso ainda é um mistério :)
fonte
Para mim, marque a opção "Gerenciar assinatura automaticamente" no Target para resolver o problema!
fonte
A exclusão da pasta xcuserdata resolveu meu problema. Mais sobre isso aqui: https://stackoverflow.com/a/9968884/300694
fonte
Se você não alterou nada relacionado aos certificados (não os substituiu ou os atualizou), basta fazer o
Product -> Clean
. Isso me ajudou várias vezes. (Xcode 6.2)fonte
A atualização para o XCode 4 corrigiu o problema.
fonte
Encontrei este problema hoje e estava arrancando os cabelos tentando descobrir. Como muitas pessoas aqui, funcionaria se eu removesse as opções do iCloud no meu arquivo de direitos. Quando eu depurava o aplicativo com as opções do iCloud ativadas, recebia o erro 0xe8008016. Isso foi logo após revogar e regenerar novos certificados.
Então, o que resolveu para mim foi ativar o suporte do iCloud para o perfil da equipe do Xcode gerado automaticamente. Entre na ferramenta de aprovisionamento online, acesse
App IDs
, clique emXcode iOS Wildcard App ID
, clique emedit
, habilite o iCloud marcando a caixa de seleção e, finalmente, clicando emDone
. Atualize seus perfis no Xcode e ele começará a funcionar.Isso faz algum sentido - quando você está depurando, o padrão é o perfil da equipe e o perfil da equipe precisa ter o iCloud ativado.
fonte
Aconteceu comigo quando eu estava tentando usar um perfil de provisionamento de distribuição da loja de aplicativos para teste local por engano. Quando usei o perfil de desenvolvimento adequado, ele funcionou muito bem. Talvez isso ajude alguém também.
fonte
Isso funcionou para mim ...
Entitlements
arquivo dotarget
.Cleaned
a compilação no XcodeEspero que funcione para vocês também :)
fonte
Foi isso que resolveu meu problema: excluir o caminho na seção Autorizações de assinatura de código das configurações de criação de destinos.
fonte
Meu perfil de provisionamento do desenvolvedor da Apple correspondia aos meus recursos do Xcode, mas ele ainda não foi incorporado ao meu dispositivo até que eu fiz o seguinte:
Remova / exclua o arquivo de direitos do seu projeto do Xcode.
Volte para a guia Recursos do Xcode
Clique no botão "Corrigir problema" para fazer com que o Xcode volte a adicionar o arquivo de direitos.
Trabalhou para mim, espero que ajude alguém.
fonte
Aconteceu comigo no Xcode 8, foi parcialmente causado pela nova
Provisioning Profile
configuração de compilação, pois nesta versão do Xcode existem duas entradas para o perfil de provisionamento:Minha culpa foi que atualizei apenas o primeiro e a entrada descontinuada ainda estava apontando para um perfil de provisionamento inválido. Alterar os dois para o mesmo valor resolveu o problema (limpar a entrada obsoleta também deve ter o mesmo efeito).
fonte
No meu caso, parece que o Xcode (secretamente) redefiniu o esquema. Descobri que a configuração de compilação do Archive foi definida como Release em vez da distribuição uma e, depois que a mudei para a correta, funcionou.
Eu acho que é melhor verificar os esquemas, bem como as configurações de compilação.
fonte
Eu tinha projeto antigo e o mesmo problema e resolvi.
1. Vá para o resumo
Vá 2. O possui grupos de chaves e exclua o objeto de grupos de chaves.
Espero que funcione para você. Saudações.
fonte
Estou usando o xcode 6 e encontro esse problema em um iphone 4 em particular
finalmente, vou para o dispositivo => perfil de provisionamento =>
e adicione o perfil manualmente e o problema foi corrigido.
fonte
Para mim, no Xcode 5.1, eu recebia
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
ao tentar testar o aplicativo no meu dispositivo. O Certificado de desenvolvimento de dispositivos deve expirar em fevereiro de 2015.O problema foi resolvido:
Selecionado
Target->Capabilities
, no GameCenter, aqui estava recebendo erro nos direitos do GameCenter, pois não foi adicionado ao projeto, embora a primeira versão do aplicativo tenha sido lançada pelo mesmo XCode 5.1, mas não havia erros como esse antes.Abaixo, um botão foi dado com o título
Fix Issue
. Ao clicar, adicionou o direito do GameCenter e o problema foi resolvido.Após as divisões, a tela se parece com:
Para mim, não havia nada a ver com certificado. O aplicativo agora é executado com sucesso no dispositivo.
fonte
Mais um problema em potencial que gerará essa mensagem de erro: Se você estiver usando um perfil de aprovisionamento perfeitamente válido para o aplicativo principal, mas tiver um perfil de aprovisionamento expirado ou inválido para a extensão do widget Hoje. Eu imagino que seria o mesmo para uma extensão de relógio da Apple também.
Confira todos os perfis!
fonte
Verifique o KeyChain Access!
No meu caso, eu estava usando o certificado de distribuição errado associado ao perfil de provisionamento.
fonte
O código em que eu estava trabalhando tinha um bundleid diferente no Infoplist e no
Product Bundle Identifier
configuração de compilação.Encontrei isso porque notei esta mensagem no console do dispositivo na exibição de dispositivos:
MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'
fonte
Se você estiver tentando ativar a sincronização do iCloud, será necessário habilitar o iCloud para o AppID usado para criar o perfil de provisionamento de desenvolvimento (o que o Xcode faz automaticamente). Você também precisará habilitar isso para perfis de distribuição.
A parte complicada é que, quando você atualiza perfis no Xcode, isso não aciona uma renovação dos perfis; eles são simplesmente baixados novamente. Portanto, no seu Portal de provisionamento do iOS, em Fornecimento / desenvolvimento, você precisará verificar o perfil rotulado (Gerenciado pelo Xcode) e excluí-lo (botão Remover selecionado). Faça isso para TODOS os perfis, desenvolvimento e distribuição, que você precisa regenerar.
Agora, no Xcode no Organizer, exclua os perfis de provisionamento que você está prestes a substituir.
Agora, para obter novos. Se você desenvolver para mais de uma equipe e quiser atualizar apenas uma em particular, selecione a Equipe apropriada no painel esquerdo em EQUIPES, caso contrário, selecione Perfis de provisionamento em BIBLIOTECA e selecione Atualizar.
Por fim, remova quaisquer perfis de provisionamento antigos no dispositivo que possam entrar em conflito com os novos, pois os perfis nunca são excluídos automaticamente; perfis mais recentes são simplesmente adicionados à lista.
fonte