Pergunta

Eu tinha um ambiente de construção em pleno funcionamento antes de atualizar para o iPhone OS 3.1 e Xcode 3.2. Agora, quando eu tento fazer uma compilação, eu recebo o seguinte:

Código de erro Sign: perfil de aprovisionamento 'FooApp teste' Especifica o Identificador de Aplicação 'no.fooapp.iphoneapp', que não corresponde à configuração atual 'TGECMYZ3VK.no.fooapp.iphoneapp'

O problema é que Xcode de alguma forma consegue pensar que o "FooApp Test" perfil de aprovisionamento especifica o Identificador de Aplicação "no.fooapp.iphoneapp", mas este não é o caso.

No Organizer (e no desenvolvedor de iPhone website portal) o aplicativo identificador é visto corretamente como 'TGECMYZ3VK.no.fooapp.iphoneapp'.

Além disso, ao definir o perfil de aprovisionamento nas opções de compilação ao nível do projecto, Xcode identifica corretamente o identificador de aplicativo, mas quando vou para o alvo, eu sou incapaz de selecionar qualquer perfil de aprovisionamento válido.

O que poderia estar causando esse problema?

Update: Eu tentei criar um novo perfil de aprovisionamento, mas ainda não sorte. Eu também tentei simplesmente mudando o aplicativo identificado no Info.plist apenas "no.fooapp.iphoneapp". A compilação tiver êxito, mas agora eu recebo um erro do Organizador:

O executável foi assinado com direitos inválidos. Os direitos especificados no arquivo de Direitos assinatura de código do aplicativo não coincidem com aqueles especificados no seu perfil de aprovisionamento. (0xE8008016).

Isto parece razoável, como o perfil de aprovisionamento ainda tem o "TGECMYZ3VK.no.fooapp.iphoneapp" identificador de aplicação.

Eu também dobro verificado que todos os certiicates são válidos na Keychain.

Assim, a minha pergunta é como posso obter Xcode para ver o identificador de aplicação correta?

UPDATE: Como notado abaixo, o que parece resolver o problema é apagar todos os perfis de aprovisionamento, certificados, etc., fazer novos certificados / perfis e instalá-los novamente. Se alguém tem quaisquer outras soluções, eles seriam bem-vindos. :)

Foi útil?

Solução 2

Bem, como parece ser o caso com muitas dessas questões de assinatura de código, a exclusão de todos os perfis de aprovisionamento, certificados, etc. e revogar e gerando tudo de novo acabou por fazer o truque. Eu até criou um novo identificador de conjunto, identificador de aplicativo, etc., e agora distribuição AdHoc está funcionando novamente.

Outras dicas

Eu tive que remover manualmente os perfis de aprovisionamento do meu telefone, então reconstruir as aplicações depois de fazer um "limpar todos os alvos" no menu de compilação.

que está sob Configurações -> Geral -> Perfis

Isso aconteceu comigo quando eu tenho um novo Mac. Você vai corrigi-lo, não se preocupe

Eu tive esse mesmo erro ontem. Eu tentei todos os vários procedimentos de reinicialização em outras respostas, sem sorte. Eventualmente eu também

  • reiniciado o meu mac
  • reiniciado o meu iPhone
  • eliminado todo o meu iphone perfis de aprovisionamento a partir do telefone usando o Xcode
  • apagou todos os perfis do meu mac (/ Library / MobileDevice Provisioning Profiles ~ / para mim)
  • o que mais? pasta de compilação excluído, reiniciado XCode, atualização instalada a 3.1.2 do SDK, sacrificou uma galinha.

Lo e eis que agora trabalha, o erro é ido. Este é um território voodoo sério.

Além disso, certifique-se que você adicionou uma referência ao nome do arquivo Direito "dist.plist" em seus CODE_SIGN_ENTITLEMENTS de configuração do projeto.

Verifique ambas Direitos de aprovação de código em informações tanto para o Desenvolver alvo eo recurso principal - se assinatura de código Direitos diz em ambos, em seguida, removê-lo

No Xcode, no painel "Groups & Files", expanda "alvos" e clique duas vezes no alvo do seu aplicativo.

Isso fará com que o painel de Informações para o seu alvo. Na seção "Build", verifique a seção "código de assinatura" para todos os perfis de idade. Isto aconteceu-me muitas vezes especialmente após um upgrade para uma nova versão do SDK e iPhone OS

Quick Corte se você estiver em Xcode 4.3.

No Xcode sob Configurações do projeto> MyTarget> guia Resumo todo o caminho na parte inferior há uma caixa que diz "Permitir direitos". Quando eu desmarcada, ele cometeu o erro ir embora.

Dentro Resources / Entitlements.plist há um booleano "get-tarefa permitir que" se isso não estiver marcada, marque-o. Isso corrigiu o problema para mim.

Depois de ser derrubada por isso por um bom tempo revisitei as configurações e descobri que eu tinha invertido a 'assinatura de código de identidade' e as entradas 'qualquer dispositivo iPhone OS'. -. A pista que eu tinha a este acontecimento foi mostrado por

  1. Exclusão de cada perfil de desligar o telefone
  2. Construir e Ir

Neste ponto Xcode tentativas para provisionar o telefone (dispositivo)

  1. Examine o telefone para ver qual perfil de aprovisionamento foi adicionado.

Como eu prefixar todos os meus perfis dos AdHoc 'ou 'Desenvolvimento' ou 'AppStore' Vi imediatamente que o processo de instalação estava colocando um perfil de desenvolvimento no dispositivo e não um perfil AdHoc.

O dispositivo não pode estar na lista. Tente modificar o seu perfil de aprovisionamento.

Apenas para adicionar uma nota aqui: Eu encontrei o mesmo erro (0xE8008016) depois de substituir a minha placa lógica do Macbook (embora eu imagino que você teria o mesmo problema em um completamente novo mac), e depois de horas de andar em círculos Eu percebi que o iPhone Developer Program Portal tinha certificados separados para Desenvolvimento e Distribuição .

Uma mudança no meio de hardware você precisa reedição ambos certificados - eu tinha desenvolvedor reeditado, mas não Distribuição. Porque o meu nome não mudou quando meu hardware fez (e certificados são identificados pelo nome do proprietário), este tornou um problema complicado de detectar;.) Espero que isso salva alguém a minha frustração

Para referência, eu corri para o mesmo problema e excluir todos os meus perfis, certificados existentes e tudo do meu unidade local e do portal do desenvolvedor, e apagar os meus dispositivos existentes e lhes acrescentando re-(portal do desenvolvedor) parecia fazer o truque.

O problema está no arquivo "project.pbxproj" localizado dentro do [seu projeto] arquivo .xcodeproject. Se você sente clique direito valente na .xcodeproject e ver o conteúdo, em seguida, "project.pbxproj" aberto com um editor de texto plano. Dentro procurar o caminho ofensiva e corrigi-lo. No meu caso eu só removeu o caminho inteiro e só deixou "Entitlements.plist" e cleard meus problemas se. Eu vivamente recomendo fazer backup de suas .xcodeproject antes de tentar isso.

Clique duas vezes o alvo, em seguida, selecione a guia "Propriedades". Não mudar o com.yourcompany.${...}.

Outra causa é se o dispositivo que você deseja instalar em não é um dispositivo aprovado na distribuição de certificados.

Às vezes Xcode não copia automaticamente o seu perfil de aprovisionamento para o local certo. No meu caso, isso era verdade.

Verifique se o seu perfil de aprovisionamento está em ~ / Library / MobileDevice / Provisioning Profiles e se não apenas arrastar e soltar, Limpar e construir

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top