Como resolver “verificação do código falhado do aplicativo” ao fazer o upload para o iTunes Connect?
-
20-09-2019 - |
Pergunta
Eu tenho um problema que não consegui resolver com uma pesquisa profunda em diferentes recursos, pois a maioria dos "semelhantes" aponta para ser um erro com o tamanho do ícone.png, etc ...
Eu tentei fazer upload do meu aplicativo depois de verificar isso:
- Construa e executa corretamente no meu dispositivo
- Que meus certificados estão instalados corretamente
- Que meus certificados / perfis não estão expirados.
- Que o ícone.png possui o tamanho e o formato adequados de 57x57 png.
- E várias outras coisas.
- RAND Codesign --verify -vvv MyApp.app, o que funcionou bem.
- Meu arquivo zip foi feito corretamente
Quando tentei fazer o upload da interface do iTunes Connect, recebi o erro simples acima, e foi por isso que tentei com o ApplicationLoader, para tentar descobrir o que está causando o erro olhando para o console.
O console mostrou o seguinte:
16/02/10 13:25:52 ApplicationLoader[549] *** Codesign error (please ignore invalid option comments): got requirements(0x800000, 534)
Executable=/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app/MyApp
Identifier=com.realtimed.MyApp
Format=bundle with Mach-O thin (armv6)
CodeDirectory v=20100 size=829 flags=0x0(none) hashes=33+5 location=embedded
Signature size=4333
Authority=iPhone Developer: My Name (XXXXXXXXX)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=16/02/2010 13:22:24
Info.plist entries=17
Sealed Resources rules=3 files=28
Internal requirements count=1 size=144
Executable=/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app/MyApp
got entitlements(0x800400, 317)
codesign_wrapper-0.7.3: using Apple CA for profile evaluation
codesign_wrapper-0.7.3: Caling codesign with the following args:
codesign_wrapper-0.7.3: /usr/bin/codesign
codesign_wrapper-0.7.3: --verify
codesign_wrapper-0.7.3: -vvvv
codesign_wrapper-0.7.3: -R=anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and certificate leaf[field.1.2.840.113635.100.6.1.4] exists
codesign_wrapper-0.7.3: --entitlements
codesign_wrapper-0.7.3: /var/tmp/signingbox/codesign_wrapper_entitlements.plist
codesign_wrapper-0.7.3: /var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app
**/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app: valid on disk
/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app: satisfies its Designated Requirement
test-requirement: failed to satisfy code requirement(s)
codesign_wrapper-0.7.3: failed to execute codesign(1)**
Qualquer ajuda / feedback ou idéias sobre como resolver a situação seria muito apreciada.
Solução
Encontrei a solução para esse problema depois de olhar profundamente para o arquivo de log.
Embora eu tenha criado meu próprio perfil de distribuição e atribuído à identidade de assinatura de código o valor correto para o certificado do desenvolvedor, ele não funcionou me dando um erro: "Verificação do código falhado do aplicativo".
O problema está na seguinte linha:
Autoridade = desenvolvedor de iPhone: meu nome (xxxxxxxxx)
Apesar da seleção correta nas configurações do projeto para o perfil de distribuição, o Xcode estava compilando -o com o certificado do desenvolvedor.
Finalmente resolvi: clique com o botão direito do mouse nos "metas" -> Obtenha informações -> e lá foi selecionado (não me pergunte por que) o certificado de distribuição errado em vez do certo.
Eu corrigi isso e finalmente foi aceito.
Links relacionados (você precisa de uma conta de desenvolvedor): https://devforums.apple.com/message/147964
Outras dicas
Excelente post. Eu também estava tendo esse problema e, depois de muita dor de cabeça, percebi que o projeto e o destino deveriam ser verificados para usar a identidade correta de assinatura de código. De alguma forma, o Xcode estava voltando ao perfil de provisionamento do desenvolvedor em vez do Distribuição Perfil provisório. Até o fez em uma construção logo depois que eu selecionou deliberadamente o correto!
I. Para ser seguro, primeiro faça o seguinte:
- Limpe todas as construções.
- Exclua o conteúdo da pasta de construção no Finder.
- Exclua identidades de assinatura de código existentes do projeto e das configurações de destino.
- Reinicie o Xcode.
Ii. Em seguida, verifique o projeto para obter o perfil de provisionamento correto:
- Vamos para
Project Settings > Build Tab > Code Signing Identity
- Selecione o perfil de provisionamento de distribuição apropriado
Iii. Agora verifique o alvo:
Target > Get Info > Build Tab > Code Signing Identity
- Selecione o perfil de provisionamento de distribuição apropriado
4. Cruz os dedos e espero que você nunca veja aquele pequeno triângulo amarelo novamente.
Cy adotou a abordagem correta para resolver esse problema - quando "Verificação do código falhado do aplicativo" é um aviso de construção, expanda esse item no log de construção e digitalização para o causa raiz da verificação de assinatura com falha.
No caso do post original do Cy. Você verá que a questão raiz era "Requisito de teste: Falha ao atender aos requisitos (s) de código (s) de código"E, na minha experiência, isso quase sempre é causado pela assinatura com o certificado errado, ou seja, um perfil de desenvolvedor de iPhone, em vez da distribuição do iPhone.
A causa raiz nem sempre é uma explicação óbvia, mas deve guiá -lo pelo menos com termos de pesquisa adicionais ou idéias de solução de problemas.
Para outros experimentando o "Verificação do código falhado do aplicativo" Durante a validação ou envio do Arquivo do Xcode, procure o log de compilação no tempo> tempo de arquivo para obter um aviso de construção pelo mesmo título e expanda -o para a causa raiz. Em seguida, dê uma olhada na lista completa da Apple de possíveis causas desse erro no seguinte URL "Como faço para resolver o erro: a verificação do código falhado do aplicativo?"
Verifique se o destino (e não apenas o projeto) está configurado com a identidade correta de assinatura de código para liberação