Erro do Xcode 7: “Falta a identidade de assinatura da Distribuição iOS para…”

837

Tentei fazer upload do meu aplicativo no iTunes Connect resp. AppStore e obteve o seguinte erro:

Falha ao localizar ou gerar ativos de assinatura correspondentes

O Xcode tentou localizar ou gerar ativos de assinatura correspondentes e falhou ao fazê-lo devido aos seguintes problemas.

Identidade de assinatura de distribuição iOS ausente para ... O Xcode pode solicitar uma para você.

Antes de configurar uma nova máquina de desenvolvimento, exportei as contas de desenvolvedor via Xcode 7 da antiga para a nova.

Oque posso fazer para consertar isso?

Awsed
fonte
Você também precisa ter perfil de distribuição e certificados junto com suas chaves, a fim de gerar IPA (Mesmo com perfil dev)
Bhumit Mehta
1
Com a nova exportação de importação de conta de desenvolvedor do Xcode 7, os perfis e certificados também são exportados. No meu caso, eu precisava transferir o certificado "Autoridade mundial de certificação de relações com o desenvolvedor da Apple" adicionalmente (veja a resposta abaixo)
Awsed
1
@Awsed, você pode encontrar detalhes sobre o processo de Certificados e perfil na documentação da Apple . Isso ajudaria.
Dipen Panchasara

Respostas:

1949

Da Apple -

Agradecemos por chamar a atenção da comunidade e desculpas pelos problemas que você está enfrentando. Esse problema ocorre por ter uma cópia do certificado intermediário WWDR expirado nos chaveiros do sistema e do logon. Para resolver o problema, você deve primeiro baixar e instalar o novo certificado intermediário WWDR (clicando duas vezes no arquivo). Em seguida, no aplicativo Acesso às Chaves, selecione a chave do sistema. Certifique-se de selecionar “Mostrar certificados expirados” no menu Exibir e, em seguida, exclua a versão expirada do certificado intermediário da Autoridade de certificação Apple Worldwide Developer Relations (expirada em 14 de fevereiro de 2016). Seus certificados agora devem aparecer como válidos no Keychain Access e estar disponíveis no Xcode para envios à App Store.

Conforme observado em um comentário abaixo, o certificado expirado também precisa ser removido da loginseção:

Para todos que não conseguem fazê-lo funcionar, apesar das instruções ... Existem dois certificados WWDR vencidos. Um está no keychain de login e o outro no sistema. Você precisa excluir os dois para que as coisas funcionem

Rajat Talwar
fonte
63
Acho que essa foi a melhor resposta, pois incluía instruções sobre a exclusão do certificado expirado. Toda essa questão é cray cray.
Chad Pavliska
12
Isso acontece a cada dois anos; Muitos aplicativos param de funcionar no Mac até que o usuário reinicie o Mac. Claro que eles vão te culpar. Pelo menos o novo certificado não expira até 2023.
Tibidabo
4
Obrigado meu amigo! Se não estiver funcionando: Tem certeza de que adicionou o novo? Eu tive que reiniciar o meu mac e baixá-lo novamente porque o meu Mac não queria adicioná-lo. (Eu sabia que porque eu não estava solicitado a digitar minha senha ...)
Godlike
131
Para todos que não conseguem fazê-lo funcionar, apesar das instruções ... Existem dois certificados WWDR vencidos. Um está no keychain de login e o outro no sistema. Você precisa excluir os dois para que as coisas funcionem.
21416 Aleks N.Fev
3
Certifique-se de que, ao acessar "Acesso às chaves", vá para Chaveiros> Sistema e exclua os certificados antigos de lá também. Minhas identidades de assinatura foram todas revogadas até que eu fiz isso.
Wowzuzz 15/02
562

Eu também enfrentei o mesmo problema hoje. Os passos seguintes corrigiram o meu problema.

  1. Faça o download de https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. Clique duas vezes para instalar no Keychain.
  3. Em Keychain, selecione Exibir -> "Mostrar certificados expirados" no aplicativo Keychain.
  4. Ele listará todos os certificados expirados.
  5. Exclua "Certificados da Autoridade de Certificação Apple Worldwide Relations Relations" da guia "login"
  6. E também exclua-o da guia "Sistema".

Agora você está pronto, vá.

Avaan
fonte
62
"6. E também exclua-o da guia" Sistema "." passo é resolvido o meu problema. Essa é a resposta correta!!!
EFE
4
Eu também! Corrigi com excluí-lo da guia "Sistema". "Passo
Edward Chiang
1
Estou seguindo estas etapas, incluindo a exclusão do sistema, no entanto, toda vez que abro o construtor de extensões (desenvolvedor do safari), o antigo certificado expirado reaparece. Alguma ideia?
19416 Andre Andre
3
O problema acima foi resolvido seguindo esta etapa "Se o seu certificado não estiver disponível no Safari Extension Builder, atualize seu sistema de assinatura para o OS X El Capitan v10.11.4 beta" na página a seguir: expiração do certificado
Andre
para aqueles que querem saber onde encontrar os certificados: a Apple Certificated
Jorge Casariego
41

Eu continuei correndo para o problema e vi que todos os meus documentos foram invalidados - oh não!

Acontece que eu nunca excluí o certificado expirado. Não estava aparecendo para mim, até eu selecionar no aplicativo Keychain Access:

Ver-> Mostrar Certificados Expirados

então

Sistema-> Todos os Itens

finalmente exibirá esse certificado expirado. Exclua isso e tente novamente do XCode para obter os novos certificados válidos.

Apenas pesquise "Todos os itens" no aplicativo Keychain Access. Os certificados invalidados são o resultado de apontar para o certificado expirado que ainda não foi excluído.

Ziad Elkurjie
fonte
A exibição de certificados expirados e a exclusão do sistema resolveu isso para mim.
Jules
33

O processo abaixo resolverá o problema,

1: Abra o acesso ao KeyChain e exclua "Autoridade mundial de certificação em relações com desenvolvedores da Apple" (que expira em 14 de fevereiro de 2016) das seções "Login" e "Sistema". Se não conseguir encontrá-lo, use “Mostrar certificados expirados” no menu 'Exibir'.

insira a descrição da imagem aqui

2: Agora faça o download de https://developer.apple.com/certificationauthority/AppleWWDRCA.cer e clique duas vezes no certificado para adicioná-lo a Keychain access> certificates (que expira em 8 de fevereiro de 2023). Agora, o status válido dos certificados deve ficar verde como abaixo.

insira a descrição da imagem aqui

Depois de verificar o status.

Teja Kumar Bethina
fonte
2
Obrigado! Este "Se você não conseguir encontrá-lo, use" Mostrar certificados expirados "no menu 'Visualizar'." me ajudou muito!
SDW
por que há um recorte de unha nesta captura de tela?
FlavorScape 22/08/19
21

A Apple fez as seguintes alterações, então faça o download do novo certificado developer.apple.com

certificado renovado e coloque-o como abaixo das capturas de tela. No porta-chaves como abaixo das capturas de tela, clique em sistema e depois em certificado. Exclua o certificado expirado. Em seguida, arraste e solte o AppleWWDRCA.cer que você baixou do link acima

Expiração intermediária de certificado da Apple Worldwide Developer Relations

Para ajudar a proteger clientes e desenvolvedores, exigimos que todos os aplicativos de terceiros, passes para Apple Wallet, Extensões Safari, Safari Push Notifications e recibos de compra da App Store sejam assinados por uma autoridade de certificação confiável. A Autoridade Certificadora Mundial de Relações com Desenvolvedores da Apple emite os certificados que você usa para assinar seu software para dispositivos Apple, permitindo que nossos sistemas confirmem que seu software é entregue aos usuários conforme o planejado e não foi modificado.

O certificado intermediário da certificação Apple Worldwide Developer Relations expirará em breve e emitimos um certificado renovado que deve ser incluído ao assinar todos os novos Apple Wallet Passes, pacotes push para notificações push do Safari e extensões do Safari a partir de 14 de fevereiro de 2016.

Embora a maioria dos desenvolvedores e usuários não seja afetada pela alteração do certificado, recomendamos que todos os desenvolvedores baixem e instalem o certificado renovado em seus sistemas e servidores de desenvolvimento como uma prática recomendada. Todos os aplicativos permanecerão disponíveis na App Store para iOS, Mac e Apple TV.

Como métodos diferentes podem ser usados ​​para validar recibos e fornecer notificações remotas, recomendamos que você teste seus serviços para garantir que não haja problemas específicos da implementação. Seus aplicativos podem sofrer uma falha na verificação de recibo se o código de verificação de recibo fizer suposições incorretas sobre o certificado. Verifique se o seu código está em conformidade com o Guia de programação de validação de recebimento e resolva todos os problemas de validação de recebimento antes de 14 de fevereiro de 2016.

insira a descrição da imagem aqui

Nischal Hada
fonte
12

Depois de pesquisar por um tempo, descobri que não é suficiente exportar as contas de desenvolvedor do Xcode e importá-las para a nova máquina, novamente pelo Xcode.

Além disso, eu precisava copiar o Certficate denominado " Autoridade mundial de certificação de relações com o desenvolvedor da Apple " do chaveiro da antiga máquina de desenvolvimento para o chaveiro da nova.

Isso resolveu o problema para mim.

Awsed
fonte
10
Você pode instalá-lo usando este link: developer.apple.com/certificationauthority/AppleWWDRCA.cer
ERU
12

Eu importei o novo Certificado WWDR da Apple que expira em 2023, mas ainda estava tendo problemas e meus certificados de desenvolvedor estavam mostrando o erro inválido do emissor.

No acesso ao chaveiro, vá para Exibir -> Mostrar certificados expirados; em seu porta-chaves de login, realce o certificado WWDR expirado e exclua-o. Eu também tinha o mesmo certificado expirado no meu chaveiro do sistema, então também o excluí de lá. (Importante)

Depois de excluir o certificado expirado do chaveiro de login e do sistema, eu pude construir o Distribution novamente.

Ashish Thakkar
fonte
4

Eu removi o AppleWWDRCA antigo, baixei e instalei o AppleWWDRCA , mas o problema permaneceu. Também verifiquei meus certificados de distribuição e desenvolvimento no Keychain Access e veja abaixo o erro;

"This certificate has an invalid issuer."

Então,

  1. Revoguei os certificados de desenvolvimento e distribuição no centro de associados.
  2. Recrie o arquivo CSR e adicione certificados de desenvolvimento e distribuição a partir do zero, baixe-os e instale-os.

Esse problema de certificado foi corrigido.

Como os certificados antigos foram revogados, os perfis de provisionamento existentes se tornam inválidos. Para consertar isso;

  1. No centro membro, abriu perfis de provisionamento.
  2. Para abrir os detalhes do perfil, clique em "Editar", verifique o certificado na lista e clique no botão "Gerar".
  3. Baixou e instalou os perfis de desenvolvimento e distribuição.

Eu espero que isso ajude.

Berk
fonte
1

Verifique se em Navegador de projeto> Assinatura> Equipe, é necessário selecionar um nome de equipe.

insira a descrição da imagem aqui

Ankit garg
fonte