Falta identidade de assinatura de distribuição iOS


84

Excluí todos os meus perfis de provisionamento do Mac por engano ( Library/Mobile Device/Provisioning Profiles). Agora, não importa o que eu faça, o Xcode me dá este erro:

Falta identidade de assinatura de distribuição iOS

Como posso consertar isso?



1
Verifique minha resposta! @Ibdakine
Balázs Vincze

1
Apenas o WWDR, ​​mas tente ambos!
Balázs Vincze

3
O que diabos está acontecendo? A Apple está destruindo o chaveiro de todos hoje ??
Nico S.

1
eu também estou tendo esse problema. baixado o certificado WWDRCA e instalado no keychain, mas ainda com o mesmo problema :(
Pranoy C de

Respostas:


111

Este é o mesmo erro exato para um certificado Apple expirado - embora eu saiba que não é o seu problema, você é a resposta número 1 no Bing no momento.

De acordo com os Fóruns de Desenvolvedores da Apple , a expiração do Certificado Intermediário de Relações com Desenvolvedores da Apple no mundo expirou em 14/02/2016.

... Este problema decorre de ter uma cópia do certificado WWDR Intermediário expirado nas chaves do sistema e de login. 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 Keychain Access, selecione as chaves 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 de relações de desenvolvedor mundial da Apple (expirado em 14 de fevereiro de 2016). Seus certificados agora devem aparecer como válidos no Keychain Access e estar disponíveis para o Xcode para envios à App Store.

insira a descrição da imagem aqui

Você pode obter um novo certificado (que expira em 7 de fevereiro de 2023). O AppleWWDRCA.cer está disponível na página de explicação: https://developer.apple.com/support/certificates/expiration/

BTW: parece que este novo certificado está instalado com o Xcode 7.2.1


Isso funcionou para mim! Embora eu estivesse no Xcode 7.2.1, era difícil dizer se a adição do novo certificado ajudava ou não, ou a exclusão do certificado antigo (expirado) funcionava. De qualquer maneira, essa solução levou 30 segundos e me colocou em funcionamento
deduzido de

Obrigado @paul Sturm, 1 voto positivo não é suficiente para esta resposta !!
SandeepAggarwal de

1
Ainda estou tendo esse problema, embora as etapas aqui façam sentido e agora eu tenha o novo arquivo AppleWWDRCA. Tenho criado meus perfis de provisionamento, etc. manualmente por meio do site de desenvolvimento da apple - terei que recriar qualquer coisa / tudo?
Chicowitz de

1
^ Não. O problema foi resolvido depois que reiniciei meu computador
Chicowitz de

2
trabalhou para mim. Eu só tive que deletar o antigo porque o novo já estava lá (do XCode 7.2.1 talvez?). Assim que excluí, reiniciei o Xcode e funcionou perfeitamente.
SkinnyG33k de

50

Verifique aqui: https://forums.developer.apple.com/thread/37208

Baixe https://developer.apple.com/certificationauthority/AppleWWDRCA.cer e clique duas vezes para instalar no Keychain.

Selecione "Exibir" -> "Mostrar certificados expirados" no aplicativo Keychain.

Remova os certificados da Autoridade de Certificação de Relações com o Desenvolvedor Mundial da Apple na guia "login" e na guia "Sistema" no aplicativo Keychain.


1
Substituir o WWDR resolveu para mim. Graças a Deus, observei o estouro de pilha :)
verdadeiro 19 de

1
Excluir o certificado expirado da guia Sistema corrigiu para mim. Apple BS clássico
alexgophermix

1
Você tem que baixar o novo E deletar o antigo, caso contrário, continuará recebendo o erro. Obrigado por apontar como ver os certificados expirados !!!
MSU_Bulldog

Definitivamente, deve excluir os antigos, caso contrário, não funcionará. Obrigado pela resposta.
Septronic

Eu precisava reiniciar meu sistema após esta solução
shadi

13

Aparentemente, eu estava tendo o mesmo problema dessa pergunta, a resposta aí resolveu meu problema também !! Embora eu tivesse meu certificado WWDR, ​​adicionar novamente ao chaveiro resolveu meu problema!

EDIT: Antes de fazer isso, aqui está o que eu fiz:

  1. Sair do xCode

  2. Vá para Acesso às Chaves. Exclua todos os certificados que tenham iOS em seu nome. Faça o mesmo com as chaves.

  3. Abra o localizador, pressione Ir e ALT, isso abrirá a opção de ir para sua Biblioteca. Clique nele, encontre Dispositivos Móveis -> Perfis de Provisionamento -> e exclua tudo de lá.

  4. Vá para o Member Center e revogue todos os certificados que você possui, exclua todos os perfis de provisionamento existentes.

  5. Abra o xCode, abra seu projeto e em Geral selecione sua equipe, embaixo dele você receberá um aviso e um botão que diz corrigir problema, clique nele. Depois de fazer isso, crie seu aplicativo para um dispositivo real (não simulador) e saia do xCode.

  6. Vá para a Central de membros e vá para Certificados, você verá que o xCode criou um novo. Baixe-o e adicione-o ao seu Keychain Access.

  7. Adicione WWDR ao Keychain Access.

  8. Tente arquivar, deve funcionar agora!

Nota: Em Build Settings, defina a assinatura de código como automática.


1
Incluindo certificados de serviços de push?
Ibdakine de

1
Boa pergunta, eu não tinha, então não sei. Eu acho que isso não importa, então deixe-os lá O principal é provavelmente o Certificado de Distribuição iOS
Balázs Vincze

1
Ei, Balazs. Eu estava com muito medo de "deletar" meus perfis, então continuei pesquisando e encontrei este link. Você estava correto ao dizer que o novo certificado precisava ser baixado, mas o antigo simplesmente precisava ser excluído conforme descrito aqui. A última resposta é a resposta correta. Eu comentei sobre isso. Obrigado novamente pela ajuda !! stackoverflow.com/questions/35390072/…
Ibdakine de

Substituir o WWDR resolveu para mim. Graças a Deus, observei o estouro de pilha :)
verdadeiro 19 de

9

Diz muito claramente. Eu apenas tive que deletar o certificado expirado conforme descrito abaixo e baixar um novo neste link . Tudo está descrito nesta página .

O que devo fazer se o Xcode não reconhecer meu certificado de distribuição? Se você tiver uma cópia do certificado WWDR Intermediate expirado em ambas as chaves do sistema e de login no aplicativo Keychain Access, seus certificados podem aparecer como inválidos e não ser reconhecidos pelo Xcode. Para resolver o problema, você deve primeiro baixar e instalar o certificado renovado. Em seguida, no aplicativo Keychain Access, selecione as chaves do sistema. Selecione 'Mostrar certificados expirados' no menu Exibir e, em seguida, exclua a versão expirada do certificado intermediário da autoridade de certificação mundial de relações com desenvolvedores da Apple. Seus certificados agora devem aparecer como válidos no Keychain Access e estar disponíveis para o Xcode.


8

Isso funcionou para mim: Acesso às Chaves -> Visualizar -> Mostrar Certificados Expirados

então

Acesso às Chaves -> guia Sistema

Localize o EXPIRED certificado "Apple Worldwide desenvolvedor Relações Autoridade de Certificação" e excluí-lo.


Funcionou para mim também.
sintagma de

5

Da Apple -

Agradecemos por chamar a atenção da comunidade para isso e pedimos desculpas pelos problemas que você tem enfrentado. Esse problema decorre de ter uma cópia do certificado WWDR Intermediário expirado nas chaves do sistema e de login. 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 Keychain Access, selecione as chaves 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 de relações com o desenvolvedor mundial da Apple (expirou em 14 de fevereiro de 2016). Seus certificados agora devem aparecer como válidos no Keychain Access e estar disponíveis para o Xcode para envios à App Store.

Também respondido em https://stackoverflow.com/a/35401483/921358


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.