ios - signal - el comando/usr/bin/codesign falló con el código de salida 1- error de signo de código
command usr bin codesign failed with exit code 1 (23)
Actualmente estoy en el proceso de enviar mi primera aplicación a la tienda de Apple. He completado los siguientes procesos.
- Obtuve una cuenta de desarrollador
- Inició sesión en el Centro de miembros para crear una ID de aplicación
- Acceso al llavero usado para solicitar y recibir un certificado de distribución
- Obtuve un perfil de aprovisionamiento usando mi identificación y certificado
Cuando construyo la aplicación, funciona perfectamente en el simulador de aplicaciones y en el ipad real, sin embargo, cuando cambio mi aplicación a
Archive
en dispositivo iOS, aparece un error de signo de código importante que adjunto a continuación.
codesign /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Products/Debug-iphoneos/RoyalAppInspection.app
cd /Users/Gaby/Desktop/RoyalAppInspection
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
/usr/bin/codesign --force --sign 79640A11C8D22589BD337496ABB8443581513846 --entitlements /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Intermediates/RoyalAppInspection.build/Debug-iphoneos/RoyalAppInspection.build/RoyalAppInspection.app.xcent /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Products/Debug-iphoneos/RoyalAppInspection.app
79640A11C8D22589BD337496ABB8443581513846: no identity found Command /usr/bin/codesign failed with exit code 1
No tengo idea de qué hacer para solucionar esto, ya que he tratado de asegurarme de que todos los demás aspectos del proceso se hayan completado correctamente.
Una preocupación que tuve fue cuando hice clic en el archivo de perfil de aprovisionamiento que no se abriría y "agregar a la biblioteca" no aparecería (no puedo acceder a la utilidad de configuración de iPhone por alguna razón). Agregué manualmente el archivo .mobileprovision a mi xcode proyecto pero estoy pensando que esto también puede ser una fuente de mi error.
Alguien, ¿puede ayudarme?
Abra el proyecto en el Xcode.
Seleccione el archivo
project.app
y haga clic derecho sobre él, seleccione la opción "mostrar en el buscador".
Abra la terminal y vaya a la ruta del archivo
project.app
.
Escriba lo siguiente para los comandos uno por uno:
xattr -lr project.app
xattr -cr project.app
Abra el proyecto y ejecútelo.
Casi lo logras por tu cuenta, pero al final parece haber algo mal con tu perfil.
Primero, recomendaría una herramienta para "mirar dentro" del perfil para asegurarse de que sea el correcto: http://furbo.org/2013/11/02/a-quick-look-plug-in-for-provisioning/
Esto solo agregará más información sobre el perfil, al seleccionarlo en Finder y presionar la barra espaciadora (Vista rápida).
Verifique sus preferencias de Xcode :
- Xcode Perferences (CMD +,)
- Cuentas
- Seleccione su cuenta a la izquierda
- Seleccione ver detalles en la parte inferior derecha
- Actualizar (usando el pequeño botón en la parte inferior izquierda)
Xcode almacena los perfiles en
~/Library/MobileDevice/Provisioning Profiles
Si su perfil de distribución no está allí, haga doble clic en él.
Entonces debería aparecer en esa carpeta, pero con un nombre en hash, por ejemplo,
1edf8f42-fd1c-48a9-8938-754cdf6f7f41.mobileprovision
en este punto, el complemento Quick Look es útil :-)
A continuación, verifique la Configuración del proyecto :
- seleccione el destino (no el proyecto) que desea construir en Xcode
- cambiar a configuración de compilación
- busque la sección "Firma de código"
- compruebe si se ha seleccionado el perfil correcto en "Perfil de aprovisionamiento" => "Liberar"
A continuación, verifique la Configuración del esquema :
- seleccione Menú del producto
- submenú de esquema abierto
- seleccione editar esquema ...
- seleccione "Archivo" a la izquierda
- La configuración de compilación debe establecerse en "Release"
A continuación, verifique la configuración de
Keychain Access
Trust
:
- Acceso abierto al llavero (spotlight => llavero)
- seleccione iniciar sesión
- haga clic en Certificados
-
busque
iPhone Distribution: Elena Carrasco (8HE2MJLM25)
a la derecha - haga clic derecho, seleccione "Obtener información"
- abrir la sección "Confianza"
- configurado en "Usar valores predeterminados del sistema"
-
repita los pasos 5 a 7 para la
Apple Worldwide Developer Relations Certificate Authority
deApple Worldwide Developer Relations Certificate Authority
A continuación, verifique el control de
acceso de
clave privada de
Access Control
llavero:
- repita los pasos 1 a 4 de la verificación anterior
- expanda el perfil para hacer visible su clave privada
- haga clic derecho en la clave privada, seleccione "Obtener información"
- cambiar a "Control de acceso"
- seleccione "Confirmar antes de permitir el acceso"
-
use el botón "+" para agregar "codesign" (normalmente ubicado en
/usr/bin/codesign
)
Sugerencia: si no aparece en el explorador de archivos, usecmd + shift + g
para ingresar la ruta manualmente -
cuando use Carthage: agregue
/usr/bin/productbuild
aquí también (gracias a DesignatedNerd ) - "Guardar cambios"
¡Espero que algo de esto te engañe!
Actualización (22/4/16):
Acabo de encontrar una muy buena explicación sobre todo el proceso de firma de código (realmente vale la pena leerlo): https://www.objc.io/issues/17-security/inside-code-signing/
Elimine los archivos precompilados existentes:
rm -rf /Users/raghu/Library/Developer/Xcode/DerivedData/Solitare-fdaukpanamlzllacxvdzfbeqcrsg/
Y trata de construirlo de nuevo.
En mi situación, algunos pods estaban desactualizados después de actualizar mi sistema operativo. Esto es lo que lo solucionó:
En terminal:
cd /Users/quaisafzali/Desktop/AppFolder/Application/
pod install
Luego, abra su proyecto en Xcode y límpielo (Cmd + Shift + K), luego Construya / Ejecute.
Esto funcionó para mí, ¡espero que ayude a algunos de ustedes!
Esto funcionó para mí. Darle una oportunidad:
cd ~/Library/Developer/Xcode/DerivedData
xattr -rc .
Haga todo lo que d4Rk le sugiera, es un gran recorrido. Si aún no está firmando, es posible que tenga algunos certificados caducados o revocados. Creo que esto puede suceder cuando trabajas en un equipo.
- salga de xcode.
- Abra el acceso de llavero.
- en la sección ''Certificados'', revise todos los certificados de "Distribución de iPhone" y, si están vencidos, revocados o no son válidos, elimínelos.
- igual que 3, pero para la sección ''Mis certificados''.
- vuelva a abrir xcode e intente nuevamente.
He resuelto este problema, muy fácilmente.
- Simplemente reinicie la computadora (actualiza todo por sí mismo).
Espero que esto ayude..
He resuelto este problema. Si su proyecto tiene un archivo .xcdatamodeld (significa que está usando coreData), asegúrese de que las entidades que formó vayan a su Inspector de modelo de datos y verifique que Class tenga codegen, manual / None o classdefination. si es una definición de clase, entonces haga que sea manual / Ninguno y limpie el proyecto y vuelva a ejecutarlo. Las capturas de pantalla se dan a continuación:
La forma fácil (que hará todos los archivos png) que utilicé:
Ejecute este comando en la terminal
find . -name "*.png" -exec xattr -c {} /;
Los siguientes pasos resolvieron el problema para mí. Estaba teniendo el problema de que no estaba compilando para el dispositivo o archivado, funcionando bien para el simulador.
- Acceso a llavero abierto.
- Bloquee el llavero de ''inicio de sesión''.
- Desbloquealo.
Limpia y construye después de hacer los pasos anteriores y todo funciona bien ahora.
Para mí "Reiniciar el sistema Mac" funcionó
Para mí, acabo de limpiar la aplicación y funcionó (cmd + shift + k), eliminando el error. Recibí el error después de actualizar a swift 2.3.
Para mí, los siguientes pasos funcionaron:
-
Salga de
Xcode
. -
Terminal
abierta -
Comando
xattr -rc /Users/manabkumarmal/Desktop/Projects/MyProjectHome
- Abrir Xcode.
- Limpiado.
- Ahora funcionó y no hay error.
Recientemente tuve este problema y todas las soluciones anteriores no funcionaron para mí.
La razón por la que funciona en su simulador pero no en dispositivos reales probablemente esté relacionada con su
Development Certificate
.
Así que revoqué mi certificado en el Portal de desarrolladores de Apple y solicité uno nuevo en mi computadora. Aquí están los pasos:
- Vaya al Portal de desarrolladores de Apple y revoque su antiguo certificado de desarrollo (que no funciona).
- Agregar certificado de desarrollo de aplicaciones iOS
- Sigue el paso desde Apple
- Descargue el certificado recién generado y agréguelo (doble clic) a su Llavero
- Asegúrese de que esté en sus cuentas de XCode
Entonces funciona!
¡Espero eso ayude!
Reiniciar no funcionó para mí.
Simplemente intente descargar y agregar el Certificado nuevamente a keyChain. Eso funcionó para mí. Cuando verifiqué Keychain Access, faltaba el certificado correspondiente. Tengo el problema resuelto cuando reinstalé el certificado.
Reiniciar también funcionó para mí. Curiosamente, parece ser un problema al permitir el acceso de Xcode a los certificados. Cuando volví a intentar el archivo, recibí 2 ventanas emergentes que me preguntaban si quería permitir que Xcode acceda a mi llavero. Después de esto funcionó bien.
Reiniciar también funcionó para mí. Después de actualizar a High Sierra, tuve muchos problemas con la contraseña y parece que necesitaba ingresar la contraseña para el acceso de Keychain a XCode.
Seguí todas las cosas mencionadas en este hilo pero aún me enfrento al mismo problema.
/usr/bin/codesign --force --sign A7F8FCD694D7923A3E57826398C3380E2E5A5446 --entitlements unknown error -1=ffffffffffffffff
Command /usr/bin/codesign failed with exit code 1
He configurado la firma automática con mi base de código que funcionará con xcode run y xcodebuild run desde el terminal desde mi máquina, pero da el error anterior cuando lo ejecuto en la tubería jenkins o intento ejecutar en el terminal desde una máquina conectada remotamente
En mi caso, la firma automática no funciona si se accede de forma remota. porque necesito abrir el llavero antes de archivar usando
security unlock-keychain -p "newpassword" "/Users/xyz/Library/Keychains/login.keychain"
las contraseñas de llavero y la contraseña de inicio de sesión para el usuario de macOS X eran diferentes. La cambio a la misma contraseña nueva y funciona para mí.
Si nada funciona en la solución @ d4Rk Simplemente use la pantalla a continuación para eliminar perfiles de disposición similares no deseados / caducados. Haga clic derecho en el perfil de aprovisionamiento para moverlo a la papelera. ventana de perfil de provisión
Porque en mi caso, después de hacer todos los pasos, seguía teniendo el mismo problema y se resolvió cuando eliminé los perfiles de suministro caducados con el mismo nombre y luego usé el correcto en la configuración de compilación.
Simplemente restablezca su certificado de desarrollo y distribución y limpie su proyecto. Después de eso, Reiniciar también funcionó para mí. Curiosamente, parece ser un problema al permitir el acceso de Xcode a los certificados. Cuando volví a intentar el archivo, recibí 2 ventanas emergentes que me preguntaban si quería permitir que Xcode acceda a mi llavero. Después de esto funcionó bien.
Tuve el mismo error en enero de 2018 con xcode 8.2.1
Antes de intentar abrir xcode no pude porque el sistema se estaba actualizando. Lo intenté más tarde y me permitió trabajar en ello, y luego obtuve el mismo error.
Seguí la mayoría de las soluciones descritas en este artículo, pero no me funcionaron.
Luego recordé el mensaje sobre la actualización del sistema e intenté reiniciar la máquina.
Y eso hizo la magia. A mi me funciono.
Tuve este error en Xcode 8 y Mac OS Sierra. Intenté todas las soluciones anteriores y ninguna funcionó. Este fue el único que funcionó para mí. Abra la terminal y escriba esto:
cd ~/Library/Developer/Xcode/DerivedData
xattr -c *
elimine su certificado en su desarrollador, luego vuelva a instalar y funcionará.