iOS 7.0 Nenhuma identidade de assinatura de código encontrada


124
  • certificado é válido
  • xcode 5
  • iOS 7

Erro de sinal de código: Nenhuma identidade de assinatura de código encontrada: nenhuma identidade de assinatura de código (ou seja, pares de certificado e chave privada) que correspondam ao perfil de provisionamento especificado nas configurações de construção ("Perfil de provisionamento de equipe do iOS: *"). Erro de CodeSign: a assinatura de código é necessária para o tipo de produto 'Aplicativo' no SDK 'iOS 7.0'


24
Eu chamo isso de pesadelo de entrada de código da apple, sempre resolvo isso removendo meus certificados / perfis e baixá-los novamente, depois mapeio os perfis certos.
meda


9
Reiniciar o Xcode ajuda.
Ronald Randon

2
Reiniciar o Xcode funciona para mim :)
Hemant Chittora

1
Terceiro reinício do XCode
Khanh Nguyen

Respostas:


68

Para certificado

  1. Revogar certificado anterior.
  2. Gere novo certificado de desenvolvimento.
  3. Faça o download do certificado.
  4. Clique duas vezes para inserir o KeyChain.

Para perfil de provisionamento

  1. Crie novo ou edite o perfil de provisionamento existente.
  2. Baixar e instalar.

Para BundleIdentifier.

  1. com.yourcompanyName.Something (Coloque o mesmo que no AppId)

insira a descrição da imagem aqui

CodeSigningIdentity.

  1. Selecione O perfil de provisionamento que você criou.

insira a descrição da imagem aqui


4
Às vezes, a reinicialização ajuda. Isso me ajudou após a reinicialização do meu Mac.
mascarar

1
Você também deve verificar se há um perfil de provisionamento de distribuição com um ID do aplicativo que corresponda ao identificador de pacote configurável do aplicativo. Depois que as opções são correspondentes, a caixa de diálogo de envio é encerrada, causando o erro.
Chuck Krutsinger 23/09

1
Antes de gerar novamente os certificados, sugiro que você tenha a chave privada do certificado que está tentando usar.
jjramos

Algum motivo específico pelo qual devemos revogar os certificados anteriores?
precisa saber é o seguinte

43

Minha correção para esse problema foi:

Xcode> Preferências. Em Contas, clique no seu ID Apple. Clique em Exibir detalhes, clique no perfil de provisionamento de seus projetos (acho que isso ajuda) e clique no botão atualizar no canto inferior esquerdo.


17

Pensei em complementar outras respostas com minha própria experiência pessoal sobre isso.

Recentemente, tive um problema em que dois alvos seriam construídos e dois falhariam com o seguinte erro:

Erro de sinal de código: Nenhum identito de assinatura de código encontrado: nenhuma identidade de assinatura válida (ou seja, par de certificado e chave privada) correspondente ao ID da equipe “XXXXXXXXXX” foi encontrada. Erro de CodeSign: a assinatura de código é necessária para o tipo de produto 'Aplicativo' no SDK 'iOS 7.1'

Apesar de ter atualizado tudo no Xcode e no iOS Developer Center .

A dica era que o ID da equipe mostrado na mensagem de falha na compilação estava desatualizado.

Com certeza, abrir o project.pbxprojarquivo do Xcode em um editor de texto encontrou o antigo ID da equipe:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

Aliás, para obter seu project.pbxprojarquivo, selecione-o .xcodeproje mostre o conteúdo conforme mostrado aqui:

insira a descrição da imagem aqui

Pesquisando no ID de destino D29A93A318AB96440099C177, pude ver que ele correspondia a um dos destinos com falha:

targets = (
    F5E8B19A16E64505006F22D4 /* MyTarget1 */,
    93DB2342183F737100BEA69F /* MyTarget2 */,
    D29A93A318AB96440099C177 /* MyTarget3 */,
    D200F4B518AB968A00F58C21 /* MyTarget4 */,
    F5E8B1C016E64505006F22D4 /* MyTarget5 */,
    589FB35119114DED003D9350 /* MyTarget6 */,
);

Nesse caso MyTarget3,. Para resolver, uma simples pesquisa de texto substituiu o antigo ID da equipe pelo novo ID correto. Problema resolvido.

Para resumir , espero que sua situação seja resolvida usando as respostas acima, em vez de investigar as complexidades do arquivo de projeto do Xcode. No entanto, se isso não acontecer, e o erro mostrar um ID de equipe inválido, vale a pena verificar se esse ID de equipe ainda existe.


Este foi o meu problema também. Não tenho certeza se foi por minha causa ou de alguém da minha equipe distribuída com seus próprios perfis, certificados, etc. Eu instalei o git auto mesclando mal o arquivo pbxproj uma vez. A equipe de desenvolvimento que notei vem do menu suspenso Equipe, na guia Geral, nas configurações do meu projeto. A remoção completa dessa linha funcionou para mim se você deseja que a equipe seja definida como Nenhuma.
JOSHA

Eu tenho que verificá-lo, meu DevelopmentTeam está correto como eu recebo o novo ID? a instalação do certificado tem o mesmo DevelopmentTeam que está nele. por favor ajude
9to5ios

Funciona como um encanto. Apenas substitua o ID que está sendo mostrado no erro pelo acima.
vanguard69

No meu caso, tive que clicar no botão "Corrigir" em Alvo -> Geral -> Identidade
Ohad Schneider

9

Eu tive exatamente o mesmo problema em desenvolvimento. Eu resolvi isso

  1. Vá para as preferências do XCode, visualize os detalhes do ID da Apple e exclua o arquivo de provisionamento que está reclamando.
  2. Vá para o Acesso às chaves e exclua o certificado de desenvolvimento relacionado ao arquivo de provisionamento que você acabou de excluir.
  3. No Apple Member Center, faça o download do arquivo de provisionamento de desenvolvimento que você acabou de excluir localmente, clique duas vezes no arquivo para garantir que ele apareça no XCode.
  4. Faça o download do certificado de desenvolvimento que você acabou de excluir localmente e clique duas vezes para garantir que ele apareça no Acesso às Chaves.
  5. Deve ser bom ir agora.

2
Essa resposta precisa estar mais alta na página.
bkSwifty

8

Eu apenas tive esse problema com Jenkins.

A solução foi copiar o certificado e colá-lo no chaveiro do sistema, caso contrário Jenkins não conseguiria ler o certificado.


7

Você não precisa excluir todos os perfis para corrigir esse problema,

Ao olhar para os perfis do meu dispositivo no Organizer, vi que um dos meus perfis não era válido. Em seguida, fui para a página Certificados, identificadores e perfis de desenvolvedor e todos os perfis estavam ativos, verdes e com boa aparência, mas ao clicar em editar no que mostrava como inválido no meu dispositivo, vi que a caixa de seleção na conta associada não estava marcada mesmo que Selecionar tudo tenha sido marcado. Marquei a caixa para associar o perfil ao meu certificado, baixei o perfil e tudo foi corrigido.

Na sua página de perfis, clique em "Editar" Na sua página da web Perfis

Você pode ver que não há certificado associado, mesmo que "Selecionar tudo" esteja marcado. Edite seu perfil! [] [1]


O problema é que a maioria das pessoas não sabe o que fazer, mas não sabe o que fazer, mas não sabe o que fazer para resolver o problema, mas não se preocupe, é só procurar um profissional de confiança.
Nilesh Kumar

4

Para mim, definir Projeto → Alvos / [Seu projeto] → Geral → Equipe como "Nenhum" resolveu o problema.


4

Tendo passado um tempo ridículo tentando resolver uma delas, e definitivamente posso ver onde a maioria dessas respostas poderia estar correta em alguns casos, minha situação não era tão incomum.

Eu estava tentando implantar na loja de aplicativos para testar com o TestFlight. Um desenvolvedor anterior, que não faz mais parte do projeto ou da empresa, criou o certificado de distribuição do IOS. O que o xcode estava tentando me dizer era que sim, o certificado estava no centro de membros, mas você não pode usá-lo porque não é seu. Eu não tinha a chave privada necessária para assinar e nenhuma quantidade de atualizações, reinicializações e revogações me ajudariam. Você precisa de um certificado de desenvolvedor e distribuição para fazer o upload para a loja de aplicativos.

A solução foi criar um novo certificado de distribuição de produção no centro de membros, usando uma nova solicitação de assinatura do meu chaveiro. Esse processo está bem documentado e descrito enquanto você cria o certificado online. Uma vez feito, atualize sua conta no xcode para fazer o download para o seu chaveiro e você ficará dourado. Espero que isso ajude alguém!


2

pode parecer estranho, mas para mim funcionou reiniciando o meu mac .. não posso explicar por que e o que aconteceu, mas funciona agora. espero que ajude alguém


2

Cheguei a esse segmento quando estou usando o script de linha de comando puro / jenkins e não quero nenhuma única interface de usuário / RDP manualmente configurada para o ambiente de integração.

Depois de algumas horas, tente resolver exatamente o mesmo problema usando o jenkins.
A chave é "lista de segurança-chaveiros -s <seu_chave_name>"

--- Longa história ---
Eu uso um script no jenkins para substituir as configurações por projeto (perfil de provisionamento e identidades de assinatura)
Após a atualização para o Xcode 7, preciso alterar o script e adicionar acima "list-keychains" depois de "create- chaveiros "

Script atualizado aqui .


1

você não precisa excluir todos os seus perfis. Eu tive o mesmo problema e o corrigi instalando os certificados ausentes. Você pode se esquecer de instalar o certificado necessário para o perfil de provisionamento que está usando para assinatura de código.

  • verifique se instalou os certificados desejados (desenvolvimento / distribuição) no chaveiro para o perfil de provisão de assinatura de código (desenvolvimento / distribuição).

1

Tente alterar o Identificador de pacote: Projeto -> Destinos / [Seu projeto] -> Geral -> Identificador de pacote

Se o aplicativo foi publicado no AppStore XCode, não será permitido criar o aplicativo com o mesmo identificador de pacote configurável.


1

Segmentando o iOS 8 e 9 no Xcode 7. Meu perfil de desenvolvimento está bom, recebi esse erro ao arquivar o aplicativo para fazer upload na loja de aplicativos. Aqui está o que eu fiz:

Xcode> Preferências> Contas> Exibir detalhes. Ao lado da distribuição iOS, clique no botão "Redefinir". Isso invalidará o perfil de provisionamento de distribuição que você está usando (porque você redefiniu o certificado de distribuição); portanto, edite o perfil para incluir o certificado redefinido recentemente.

Certifique-se de baixar o novo certificado de distribuição e o perfil de provisionamento de distribuição recém-editado. Reinicie o Xcode.


1

Verifique se o seu certificado está conectado à sua chave privada :

Acesso ao chaveiro aberto , login, certificados . Encontre o certificado dentro da lista e veja se ele está devidamente emparelhado com sua chave privada.

Se o certificado não for assinado com chave privada, exclua-o, vá para a página de desenvolvedor da Apple e crie um novo certificado. Às vezes, será necessário revogar o antigo. Este novo certificado agora será assinado corretamente com sua chave privada.

Agora, quando você tiver um novo certificado, recrie os perfis de provisionamento necessários que incluirão um novo certificado no processo de criação.

Observe que quando alguém da sua equipe redefine este certificado com sua chave privada, esse mesmo problema pode aparecer novamente durante o processo de atualização. Não tenho certeza, mas parece que todo desenvolvedor da equipe deve ter certificado próprio para distribuição.


1

Obviamente, esse problema tem causas diferentes. :)

No meu caso, o login da minha conta expirou ... resolvi-o simplesmente:

XCode -> Preferências -> Conta -> IDs da Apple -> Selecione o ID relacionado e renove o login ...

Espero que isto ajude!


0

Vá para o navegador Issue e verifique se Signing Identity:está presente no seu Acesso às Chaves . Se não, faça o download do .cerarquivo e anexe-o ao chaveiro.


0

Depois de puxar o cabelo por um longo tempo, finalmente encontrei um problema. Selecionei um certificado errado ao criar o perfil de provisionamento. Ao selecionar o certo, ele me ajudou. No seu caso, se for múltiplo, será necessário tentar selecionar um por um para resolver esse problema.


0

Eu tive esse erro ambíguo, "Comando / usr / bin / codesign falhou com o código de saída 1", quando estava configurando novas caixas Jenkins para versões do iOS com Xcode 7.3, OSX 10.11.4.

No meu caso, eu tinha várias coisas certas: 1. Sim, eu adicionei meus certificados ao chaveiro, tanto a raiz da Apple quanto o certificado da equipe. 2.Sim, baixei o perfil de provisionamento correto através das preferências do xcode. 3. Sim, mesmo construído manualmente no xcode.

No entanto, para jenkins, talvez houvesse um problema de cache no xcode. O que funcionou foi: 1. Saia da GUI do Xcode. 2. Volte e execute a compilação manualmente uma vez. 3.Só então o Xcode solicitará a autorização de acesso ao chaveiro. 4.Jenkins tem algumas configurações que podem corrigir isso, mas minhas máquinas são seguras, então clico em 'sempre permitir que o xcode acesse o chaveiro'.


0

Com o fastlane instalado, você pode criar e instalar um Certificado de Desenvolvimento

cert --development
sigh --development
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.