xcode - apple - ¿Cómo resolver "Verificación de verificación de código fallida de la aplicación" al cargar en iTunes Connect?
apple developer (4)
Cy tomó el enfoque correcto para resolver este problema: cuando "Application failed codesign verification" es una advertencia de compilación, expanda ese ítem en el registro de compilación y busque la causa raíz de la verificación de la firma fallida.
En el caso de la publicación original de Cy., Verá que el problema raíz fue "requisito de prueba: no se cumplieron los requisitos del código ", y en mi experiencia esto casi siempre se debe a la firma con el certificado incorrecto, es decir, un perfil de desarrollador de iPhone en lugar de la distribución de iPhone.
La causa raíz no siempre es una explicación obvia, pero debe guiarlo al menos con términos de búsqueda adicionales o ideas para la solución de problemas.
Para otros que experimenten la "verificación de verificación de código fallida de la aplicación" durante la validación o presentación de Xcode Archive, busque en el registro de compilación en Product> Archive time para una advertencia de compilación el mismo título y amplíelo para la causa raíz. Luego eche un vistazo a la lista completa de Apple de las posibles causas de este error en la siguiente URL "¿Cómo puedo resolver el error: la aplicación no pudo verificar el código?"
Tengo un problema que no pude resolver con una búsqueda profunda en diferentes recursos, ya que la mayoría de los puntos "similares" indican un error con el tamaño de Icon.png, etc.
Intenté cargar mi aplicación después de verificar que:
- Construye y ejecuta correctamente en mi dispositivo
- Que mis certificados estén instalados correctamente
- Que mis certs / profiles no están vencidos
- Que Icon.png tiene el tamaño y el formato adecuados de 57x57 PNG.
- Y varias otras cosas.
- Ran codesign --verify -vvvv MyApp.app que funcionó bien.
- Mi archivo ZIP fue hecho correctamente
Cuando intenté cargar a través de la interfaz de iTunes Connect, recibí el error simple anterior, y es por eso que probé con ApplicationLoader, para tratar de averiguar qué está causando el error al mirar la consola.
La consola mostró lo siguiente:
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)**
Cualquier ayuda / comentario o ideas sobre cómo resolver la situación sería muy apreciada.
Encontré la solución a este problema después de mirar profundamente el archivo de registro.
Aunque creé mi propio perfil de distribución y asigné a CODE SIGNING IDENTITY el valor correcto para el certificado de desarrollador, no funcionó, lo que me dio un error: "Application failed codesign verification".
El problema está en la siguiente línea:
Autoridad = Desarrollador de iPhone: Mi nombre (XXXXXXXXX)
A pesar de la selección correcta en la configuración del proyecto para el perfil de distribución, XCode estaba compilando con el certificado de desarrollador.
Finalmente lo resolví: haz clic con el botón derecho en "Objetivos" -> Obtener información -> y allí estaba seleccionado (no me preguntes por qué) el certificado de distribución equivocado en lugar del correcto.
Lo corregí y finalmente fue aceptado.
Enlaces relacionados (necesita una cuenta de desarrollador): https://devforums.apple.com/message/147964
Excelente publicación. Yo también estaba teniendo este problema y después de mucho dolor de cabeza me di cuenta de que tanto el Proyecto como el Objetivo deberían ser verificados para usar la Identidad de Firma de Código correcta. De alguna manera, Xcode estaba volviendo al perfil de aprovisionamiento de desarrollador en lugar del perfil de aprovisionamiento de distribución . ¡Incluso lo hizo en una construcción justo después de haber seleccionado deliberadamente la correcta!
I. Para estar seguro, primero haga lo siguiente:
- Limpie todas las construcciones.
- Eliminar contenidos de la carpeta de compilación en el buscador.
- Elimine las identidades de firma de código existentes del proyecto y la configuración del objetivo.
- Reinicie Xcode.
II. Luego revise el Proyecto para ver el Perfil de Aprovisionamiento correcto:
- Vaya a
Project Settings > Build Tab > Code Signing Identity
- Seleccione el perfil de aprovisionamiento de distribución apropiado
III. Ahora mira el objetivo:
-
Target > Get Info > Build Tab > Code Signing Identity
- Seleccione el perfil de aprovisionamiento de distribución apropiado
IV. Cruza los dedos y espera que nunca más vuelvas a ver ese maldito triángulo amarillo.
Verifique que TARGET (y no solo el Proyecto) esté configurado con la Identidad de firma de código correcta para la Versión