objective-c - downloads - xcode source code




Xcode 5: erros de autorização de assinatura de código (14)

Eu criei um novo aplicativo que suporta o IOS 7. Eu obtive o novo XCode 5 GM e tentei assinar meus aplicativos usando meu novo perfil de provisionamento e certificado de distribuição, mas estou tendo problemas com a distribuição. Eu constantemente recebo o seguinte erro:

"Direitos de assinatura de código inválidos. Os direitos em sua assinatura de pacote de aplicativos não correspondem aos que estão contidos no perfil de aprovisionamento. De acordo com o perfil de aprovisionamento, o pacote contém um valor de chave que não é permitido: '[XXXX.com.sample .company] 'para a chave' keychain-access-groups ".

Também o mesmo erro para um valor de chave chamado application-identifier .

Captura de tela do erro:


1. Vá para a pasta de projetos, exclua os arquivos * .entitements. 2.Até ir yo no xcode project target -> construir configurações -> direitos de assinatura de código - excluir valores 3.Clean 4.Run


A solução está na nova opção no Xcode 5, que diz perfil de provisionamento. Basta definir o perfil de provisionamento do destino do projeto para o perfil certo e ele funcionará.


Ah, esse erro glorioso. Para mim, sempre que vejo este erro, verifico as seguintes coisas:

1. Permitir que o XCode acesse as informações do seu perfil de provisionamento o tempo todo - Se o XCode perguntar quando você inicia o acesso aos arquivos privados do seu computador para que ele possa obter informações de perfil de aprovisionamento com as opções para permitir acesso sempre, não agora ou apenas uma vez - defina-o para sempre permitir acesso

2. Se você tiver arquivos de direitos antigos em andamento no seu projeto, livre-se deles e de qualquer sinal deles - se você vir um arquivo de privilégios em seu projeto, exclua-o (ou pelo menos remova a referência a ele se não tiver certeza você está pronto para excluí-la imediatamente), em seguida, certifique-se de que a linha "Direitos de Assinatura de Código" na seção "Assinatura de Código" em Configurações de Construção esteja vazia

3. Verifique seus serviços de aplicativos on-line e combine-os com seus serviços no XCode para o aplicativo - Vá para o Apple Member Center e verifique o ID do aplicativo, clique no aplicativo para ver seus 'Serviços de aplicativos' e veja o que você ter verificado, em seguida, vá para XCode e verifique sua seção 'Capacidades' para se certificar de que os dois têm a mesma lista de serviços da Apple em ambos

4. Certifique-se de atribuir um perfil de aprovisionamento válido ao seu aplicativo antes de validar - verifique seu perfil de aprovisionamento para o seu aplicativo no Apple Member Center, verifique se ele não expirou, tem o ID do aplicativo certo com o ID e a distribuição do pacote corretos . Faça o download e clique no novo perfil de aprovisionamento para certificar-se de que o XCode o possui ou vá para XCode> Preferências> Contas> clique em sua conta e 'Visualizar Detalhes' e clique no botão canto inferior para Sincronizar todos os perfis para XCode. Você deve ter o perfil disponível para selecionar agora na seção "Assinatura de código". Depois de ter o perfil de provisionamento correto, você pode definir as linhas "Code Signing Identity" como a opção correta para esse perfil de provisionamento.

Nota - se estiver fazendo um certificado de distribuição, pode ajudar a definir todas as linhas "Code Signing Identity" para a identidade que você usa para distribuição, incluindo as linhas de depuração.

5. SE TODAS AS VEZES FALHAR - Limpe seu projeto e Reinicie o XCode e alguma magia da Apple pode funcionar bem na próxima vez que você abrir seu projeto e tentar validar


Assinaturas de assinatura de código ocorrem porque o seu recurso não contém o arquivo de direitos em recursos, basta ir para a configuração de construção e assinatura de código de pesquisa Entitlements excluir entrada para depuração e liberação, construir o projeto novamente, você verá que não há erro. Felicidades


Eu passei por muitas das etapas acima, mas o que finalmente funcionou para mim foi atualizar meus perfis no Xcode. Não sei por que isso foi necessário, pois o perfil de distribuição do meu aplicativo já estava aparecendo na lista. Aqui estão os passos:

  1. Preferências do Xcode
  2. Guia Contas
  3. Selecione seu ID da Apple
  4. Clique no botão Visualizar Detalhes no painel de detalhes do ID Apple
  5. Clique no botão Atualizar no canto inferior esquerdo

Eu tenho lutado com esse problema há mais de um dia, tentando todos os tipos de soluções sugeridas aqui e em outros lugares na internet. Nada funcionou...

Mas finalmente consegui resolver o problema!

O problema que tive foi com um aplicativo antigo que eu não toquei há mais de 3 anos, e agora eu estava prestes a lançar uma atualização tão esperada. Desde o momento em que lancei o aplicativo, a Apple atualizou o funcionamento dos certificados e ID do aplicativo. Eles introduziram o conceito de ID da equipe, que parece ser recomendado para uso. Em particular, o site "Certificados, Identificadores e Perfis" da Apple, sofreu muitas mudanças desde então.

Lá, percebi que o perfil de provisionamento que eu estava usando para a distribuição da App Store estava conectado ao ID do aplicativo ED8xxxxxxx.com.rostsolutions.* Mas, olhando o ID do aplicativo que estava prestes a enviar, percebi que o ID do aplicativo era ATMxxxxxxx.com.rostsolutions.Swisch . Então, o prefixo do ID do aplicativo não coincidiu! Essa parecia ser a raiz do problema. Então, o que eu fiz foi criar um novo perfil de provisionamento conectado ao ID do aplicativo ATMxxxxxxx.com.rostsolutions.Swisch . Usando esse perfil de aprovisionamento, enviei meu aplicativo para a App Store com sucesso e agora apenas mantenho meus dedos cruzados para que todo o resto funcione bem ao lado da Apple.

(Eu tentei primeiro conectar-me ao novo perfil de provisionamento para o ID de caractere curinga ATMxxxxxxx.com.rostsolutions.* , Mas isso não funcionou).

Mas o que me intriga é que quando eu olho para o antigo App no ​​iTunes Conecta e vai para Detalhes Binários, ele diz que o ID do Aplicativo é ED8xxxxxxx.com.rostsolutions.Swisch . Então, por que a página "Certificados, Identificadores e Perfis" está listando o ID do Aplicativo como ATMxxxxxxx.com.rostsolutions.Swisch ?


Eu tive o mesmo problema, mas nada escrito aqui funcionou para mim. No entanto, encontrei uma maneira simples que funcionou para mim. Veja como fazer isso:

1) Em suas configurações de criação do projeto e do (s) destino (s), escolha "Nenhum" para todos os perfis de provisionamento e escolha "Não assinar código" para todas as identidades de assinatura de código.

2) Agora, escolha seu alvo e vá para construir configurações. Na configuração Liberação de identidade de assinatura de código, escolha "Distribuição do iOS" para "Qualquer SDK do iOS". Em seguida, na configuração Liberação de perfil de provisionamento, escolha seu perfil de distribuição para "Qualquer iOS SDK". Depois disso, sua configuração de Liberação de identidade de assinatura de código deve mudar automaticamente para "Distribuição de iPhone".

3) Arquive sua construção e valide. Agora deve funcionar bem. É isso aí!


Existe um tutorial muito bom para resolver esse problema this site.

Ele diz que esse problema pode ocorrer quando o identificador do pacote de projetos é diferente daquele inserido no site do iTunes Connect .


No meu caso (desculpe) eu mudei "Team" para "None" em -> Geral -> Identidade

Em outro caso, precisei mudar essa identidade de "None" para a conta de desenvolvedor que gerencia as identidades e os perfis.

O Xcode às vezes atrapalha muito com a assinatura de código, parece. Ou, nós meros mortais simplesmente não somos inteligentes o bastante para entender o que está fazendo, é claro. Não desista, todos nós estamos passando por algum código de assinatura de tortura às vezes!


No meu caso, eu ativei os mesmos recursos no Xcode que em serviços de aplicativos em developer.apple.com. Isso funciona para mim


No meu caso, eu tive que definir o perfil de provisionamento correto para o Release e tive que reiniciar o Xcode. Antes de reiniciar, ele tinha o mesmo perfil de provisão e não funcionava. Então, às vezes, um reinício pode fazer milagres. Talvez isso ajude alguém.


Se alguém usa um GameCenter, verifique esta seção no seu alvo. Eu trabalhei com algum projeto antigo e havia 2 erros (mas tudo funcionou bem). Desativando e habilitando-o de volta resolveu este problema.

O mais provável é que essa ação adicione o direito do Game Center ao ID do aplicativo e que ele próprio seja gerenciado.


Se vários desenvolvedores estiverem usando a mesma conta do centro de associados. Um deles não pode usar um certificado criado por outros porque eles usaram uma solicitação de certificado criada usando seus computadores.

Você precisa usar um certificado criado por você (solicitação de certificado criada usando seu computador).

Alternativa, disse-lhes para enviar-lhe o perfil do desenvolvedor. não tenho certeza do nome. para usar um certificado criado em outro computador.


Se você é como eu e acha que tentou TUDO , arquivei seu projeto mais de dez vezes, bati com a cabeça no teclado e ainda recebi esse erro. Por favor, faça um favor e simplesmente Reinicie o XCode , funcionou para mim. Às vezes a Apple ... eu te odeio.





xcode5