Xcode 10, Command CodeSign falló con un código de salida distinto de cero

124

Cada vez que construyo la consola aparece este mensaje.

CodeSign /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app (en destino: Desker) cd / Users / admin / Desktop / AppStoreBuild / Project201 export CODESIGN_ALLOCATE = / Applications / Xcode.app / Contents / Desarrollador / Toolchains / XcodeDefault.xctoolchain / usr / bin / codesign_allocate

Identidad de firma: "-"

/usr/bin/codesign --force --sign - --entitlements /Users/admin/Desktop/AppStoreBuild/Project201/build/Project.build/Debug-iphonesimulator/Project.build/Project.app.xcent --timestamp=none /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app

/Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app: bifurcación de recursos, información del Finder o detritos similares no permitidos El comando CodeSign falló con un código de salida distinto de cero

... ¿Hay alguna forma de identificar la causa de esta falla? Está mostrando Signing Identity: "-" cuando trato de ejecutar también en el simulador. ¿Por qué necesitamos la firma de identidad en el simulador? Y una cosa más es que si salgo de Xcode y reinicio, se compilará correctamente cuando cambie el código o agregue un método, la compilación fallará nuevamente.

Prueba prueba
fuente

Respuestas:

344

Tuve ese problema y Xcode no se pudo compilar en el dispositivo, pero en el simulador funcionó bien.

Lo resolví con estos pasos:

  1. Acceso abierto al llavero.
  2. Bloquea el llavero de 'inicio de sesión'.
  3. Desbloquéelo, ingrese la contraseña de su cuenta de PC.
  4. Proyecto limpio en el menú de productos.
  5. Constrúyalo de nuevo.

Y después de eso todo funciona bien.

omanosoft
fuente
18
en mi caso estaba desbloqueado ... así que simplemente lo bloqueé y luego lo limpié y construí y Xcode me pidió que ingresara mi contraseña. Trabajando
Jad
1
Esta es la solución perfecta para mí, en mi caso, descargué xcode10.1 por separado y tuve xcode 10.0 anterior. Después de eso, estaba dando lo anterior después de hacer la solución proporcionada por @omanosoft, funcionó
Abhijit Chakra
Agregaría que para mí funcionó sin el punto 4. Para evitar limpiezas y construcciones largas.
Crazy Barney
1
Me tomó medio día encontrar la solución que me salvó, gracias querido amigo.
Bachir Mehemmel
2
En mi caso, el cuadro de diálogo aparece varias veces para ingresar la contraseña. Ingresé la contraseña de mi cuenta de PC cada vez y después de 7 a 10 veces se aceptó el acceso.
Adrian Buciuman
57

Ninguna de las soluciones enumeradas funcionó para mí. En otro hilo se señaló que incluir una carpeta llamada "recursos" en el proyecto provoca este error. Después de cambiar el nombre de mi carpeta "recursos", el error desapareció.

Paul Slocum
fuente
3
Esto funcionó para mí también. Arrastré una carpeta "Recursos" desde Finder a mi proyecto y usé la "Referencia de creación de carpeta" predeterminada, que creó una carpeta azul "Recursos". Eliminé eso, arrastré la misma carpeta "Recursos" del Finder a mi proyecto nuevamente, pero esta vez seleccioné "Crear grupos" y ahora mi proyecto se compila sin el error de firma.
Mark Petereit
1
Gracias a todos, eso fue muy útil
Mr T
Encontré el mismo problema después de agregar los módulos de Firebase según sus instrucciones. Cambié el nombre de la carpeta Resources a FirebaseResources y funcionó muy bien. Gracias.
ruralcoder
Bien, tuve el mismo problema al copiar otra base de código. Curiosamente, la otra base de código no tuvo ningún problema, pero cuando se copió, causó un impacto en un nuevo proyecto. Cambiar el nombre de la carpeta Recursos funcionó.
matthew
¿Puede alguien decirme dónde y cómo puedo encontrar esta carpeta de recursos?
pratteek shaurya
41

Si también obtiene un error de firma de código con el error "bifurcación de recursos, información del Finder o detritus similares no permitidos".

Ejecute el siguiente script en la consola para solucionarlo:

$ xattr -cr <path_to_app_bundle>

Documentación de Apple: https://developer.apple.com/library/archive/qa/qa1940/_index.html

xuzepei
fuente
buscando semanas para el problema y pidiendo soporte a Apple, sin éxito. ¡Gracias por tu solución! Funciona perfecto para mí, para VARIOS proyectos.
Christian Krueger
Saludos por esto. Solucionado mi problema.
nicktones
Reemplazo de <path_to_app_bundle> con la ruta de su paquete de aplicaciones real.
xuzepei
15

Esto me sucedió hoy, solo después de agregar una imagen .png con 'ocultar extensión' marcada en la obtención de información. (Imagen de clic derecho) Esta imagen se agregó al directorio de archivos de mi proyecto Xcode.

Cuando desmarqué la casilla y volví a agregar la imagen .png al directorio de Xcode, luego limpié y construí y funcioné bien después de eso, un error muy extraño si me preguntas.

Jonas
fuente
1
Tenía el mismo problema con un .jpg, que no tenía extensión. Se corrigió después de agregar eso.
eivindml
1
Gracias por ahorrarme tiempo. Felicitaciones por relacionar ese error con una imagen con una extensión oculta.
Marcy
1
Experimenté este problema con un png, pero tenía la extensión visible. La imagen se exportó desde Photoshop utilizando "exportar compilaciones de capas a archivos". Eliminar la imagen y volver a exportar utilizando "exportar como" solucionó el problema.
Hermes
¡El mismo problema aquí con la imagen PNG!
Mr T
7

Intente limpiar el proyecto:

1. shift + cmd + k
2. shift + cmd + Alt + k 

Luego intente ejecutar su proyecto nuevamente. Espero que esto solucione el problema.

Md Rashed Pervez
fuente
1
Hizo. limpio tuvo éxito. cuando construyo i falla
Prueba Prueba
1
construir hermano fallido.
Prueba Prueba
1
¡Funcionó como un encanto en mi caso!
Heitor
5

Este problema me sucedió después de agregar archivos .dae y .png y convertir .dae con XCode Editor al formato de archivo de escena SceneKit (.scn).

Después de investigar un poco más, encontré la solución aquí: https://forums.developer.apple.com/thread/109951#336225

Pasos para solucionar el problema:

  1. En XCode vaya a Preferencias
  2. Haga clic en la pestaña Ubicaciones
  3. En Herramientas de línea de comandos, seleccione del menú desplegable XCode 10.1
plamenti
fuente
3

En Xcode: Vaya a Preferencias Cerrar sesión del usuario actual.

Cerrar Xcode

En llavero: vaya a Inicio de sesión y Todos los elementos

        - Sort by kind
             - remove "Apple Worldwide Developer Relation Certification Authority"
             - remove "Developer ID Certification Authority"
             - remove "iPhone Developer ...."

Abrir Xcode

Vaya a Preferencias e inicie sesión en su cuenta de usuario de Apple

  • Esto recargará sus certificados de desarrollador que eliminó anteriormente. Reconstruya el proyecto (debe ser una compilación exitosa)

Ejecute la compilación en su dispositivo nativo

Val
fuente
3

En mi caso fueron las siguientes líneas de error:

Identidad de firma: "-"

… ..Mobile.app: bifurcación de recursos, información del buscador o detritos similares no permitidos

El comando CodeSign falló con un código de salida distinto de cero

el problema era que en la carpeta de recursos tenía algunos archivos con extensión .png, que estaba oculta en los valores predeterminados.

Buscar archivo en FINDER, marcarlo -> cmd + i -> desmarcar Ocultar extensión

después de eso, regrese en Xcode -> kmd + shift + K y reconstruya.

¡Espero haber sido de ayuda!

Madji
fuente
¡Muchas gracias! Esto ayuda.
ZavtraMen
Probé las otras soluciones. Esta es la única solución que funcionó para mí.
andrewbuilder
3

La solución para mí fue reiniciar macOS sin guardar

Faustino Gagneten
fuente
3

Reparar

Elimine los atributos de archivo extendidos en sus archivos de recursos para siempre, no en el paquete de aplicación compilado:

  1. Terminal abierta

  2. Cambie el directorio a la raíz de sus archivos fuente

    $ cd / Users / rjobidon / Documents / My \ Project

  3. Lista de todos los atributos extendidos

$ xattr -lr .
  1. Eliminar todos los atributos extendidos
$ xattr -cr .

Errores de Xcode

  • "El comando CodeSign falló con un código de salida distinto de cero"
  • "No se permite la bifurcación de recursos, la información del buscador ni detritus similares"

Porque

Apple introdujo un cambio de fortalecimiento de la seguridad, por lo que la firma de código ya no permite que ningún archivo en un paquete de aplicaciones tenga un atributo extendido que contenga una bifurcación de recursos o información del Finder.

Fuentes

rjobidon
fuente
2

No estoy seguro de qué causa este problema, pero un método que utilicé para resolver el problema con éxito fue ejecutar la actualización de la vaina en mis vainas de cacao.

El error (para mí de todos modos) mostraba un problema con la firma de uno de los pods. La actualización de los pods resolvió ese problema de firma.

pod update [PODNAME] //For an individual pod

o

pod update //For all pods.

Con suerte, esto ayudará a alguien que tenga el mismo error "Command CodeSign falló con un código de salida distinto de cero".

paul_f
fuente
No tengo un archivo pod, ni siquiera estoy seguro de cuál debería ser el nombre del archivo y la extensión. ¿Puedes clearify?
Paseo el
Hola @RideSun: Es posible que aún no hayas agregado pods a tu proyecto. El podfile se llama literalmente "Podfile". No tiene extensión, por defecto será un archivo TextEdit.
paul_f
2

Después de probar todo, mi solución fue eliminar algunos archivos PNG, compilar y ejecutar (ok) y agregar nuevamente las imágenes PNG. ¡Extraño!

Nicoli
fuente
Algo similar. Se agregaron 5 archivos .PNG sin una extensión .PNG, las primeras compilaciones funcionaron, luego, después de editar los controles en IB, se produjo el error de firma anterior con el mensaje "bifurcación de recursos, información del Finder o detritus similares no permitidos". ¿Detrito? ¿Quién usa esa palabra? Al cambiar los nombres de los archivos para que tengan la extensión .PNG, solucionó el problema.
Chris Walken
1

Ninguna de las otras respuestas funcionó. Esto es lo que he hecho:

  1. borré mi certificado del llavero;
  2. abrió Xcode, reconstruyó el certificado;
  3. ejecutó la aplicación en el dispositivo con éxito.
Bhavesh Jain
fuente
1

Para mí, tuve que ir al llavero, seleccionar el llavero "iniciar sesión", hacer doble clic en la tecla de desarrollador de iOS: myname, hacer clic en la pestaña de control de acceso y cambiar el botón de radio a Permitir que todas las aplicaciones accedan a este elemento.

Patrick Duchesneau
fuente
1

Este problema fue causado por la construcción de mi proyecto en el esquema de lanzamiento. También puede ser causado por otras cosas. Intente cambiar el esquema de compilación yendo en xCode a Producto> Esquema> Editar esquema. En la sección "Ejecutar" ubicada a la izquierda, cambie la "Configuración de compilación" a "Depurar". Espero que esto sea de ayuda.

Abdulmohsen Alabra
fuente
1

Ninguna de las soluciones anteriores funcionó para mí. Después de algunas conjeturas, lo intenté (Xcode v10.2.1 cocoapods v1.7.1)

pod deintegrate

seguido por

pod install

Luego:

  • Abrió el espacio de trabajo en Xcode
  • Carpeta de construcción limpia
  • Construye el proyecto

Sin errores de construcción.

ToddX61
fuente
1

Para mí, la solución fue la siguiente, tener la marca "Gestionar automáticamente el signo" en:

  1. en el menú desplegable del equipo del objetivo, seleccione "Ninguno"

  2. volver a seleccionar el equipo de desarrollo correcto

Después de probar casi todas las sugerencias, descubrí que esto funciona, supongo que porque Xcode configura la firma desde cero.

mr_dami
fuente
1

Ninguna de las soluciones populares funcionó.
En mi caso, resolví el error ingresando al

XCode -> Preferencias -> Cuentas -> Administrar certificados

y agregó un (+) al desarrollo de iOS .

amante del vinilo
fuente
1

Publicaré mi solución. Esta solución funcionó para mí, ya que ninguna de las anteriores funcionó. El problema ocurrió por primera vez justo después de la última actualización del conjunto de herramientas XCode cli (no estoy seguro si este es el sesgo de confirmación).

Probé algunas de las instrucciones (es decir, desbloquear el truco del llavero).

Lo que funcionó para mí en caso de error:

  • Command CodeSign failed with a nonzero exit code (Something.framework)

    • Basura de contenido de DD; rm -rf / Users / dx / Library / Developer / Xcode / DerivedData / *
    • Reiniciar XCode
    • Fases de construcción => Link Binary With Libraries
      • Something.framework,
    • Establecer valor de inserción en General => Something.framework => EMBED
      • Do not embed
    • Presione Cmd+B(Construir proyecto)
    • Con suerte construido con éxito
sensación
fuente
Cuando hice los pasos anteriores, realmente construí la aplicación con éxito, pero Xcode me recuerda: motivo: imagen no encontrada . Soluciono el problema con el siguiente paso: OBJETIVOS - Fases de construcción - Enlace binario con marco - Something.framework- Estado -> Optianl
Xuyee Wang
1

Estaba experimentando este problema debido a una configuración incorrecta de mi certificado de la Autoridad de certificación de relaciones con desarrolladores mundiales de Apple .

Resolví el problema cambiando de "Alway Trust" a "Use System Defaults"

Paso a paso:

  1. Abrir llavero
  2. Haga clic en el llavero "iniciar sesión" (asegúrese de que esté desbloqueado; si está bloqueado, haga clic con el botón derecho en él y elija "Desbloquear llavero")
  3. Haga clic en Certificados y busque el certificado de autoridad de certificación de relaciones con desarrolladores mundiales de Apple
  4. Haga clic derecho sobre él y elija Obtener información
  5. Expanda la sección Confianza y cambie la configuración para usar los valores predeterminados del sistema como se muestra en la siguiente captura de pantalla

ingrese la descripción de la imagen aquí

marika.daboja
fuente
1

Esto se debe a que la firma de código ya no permite que ningún archivo de un paquete de aplicaciones tenga un atributo extendido que contenga una bifurcación de recursos o información del Finder.

Para ver qué archivos están causando este error, vaya a la carpeta .app, normalmente es como: / Users / XXXX / Library / Developer / Xcode / DerivedData / MyProject-ckbzynxqjmstxigbdwwkcsozlego / Build / Products / Debug-maccatalyst / (el mío es el proyecto Catalyst) En Terminal,

cd <above path>
xattr -lr .

Verá que algunos archivos tienen un atributo extendido:

./MyProject.app/Contents/Resources/shopping_cart.png: com.apple.lastuseddate # PS: 00000000 BE 31 D5 5E 00 00 00 00 D0 40 FE 39 00 00 00 00 | .1. ^ ..... @ .9 .... |

Luego vaya a la carpeta de su proyecto o carpeta de referencia para esos archivos, elimine el atributo extendido:

cd /Users/XXXX/Work/MyProject
xattr -cr .

Después de limpiar todas las carpetas a las que se hace referencia, vaya a Xcode y reconstruya.

Sam Xu
fuente
0

Yo también vi este error después de agregar una combinación de imágenes .jpg y .png a la carpeta art.scnassets, realizar cambios en el código y eliminar esos cambios a través del menú Control de fuente> Descartar todos los cambios ... de Xcode.

Probé las otras correcciones en este hilo, pero, finalmente, tuve que eliminar los archivos .jpg / .png agregados, limpiar el proyecto y reconstruir el proyecto para eliminar los errores. Luego leí los archivos .jpg / .png originales y ahora estoy reconstruyendo el código sin problemas.

Hawtakshun
fuente
He agregado varios archivos rápidos de mi otro proyecto y también una imagen png. Después de eliminar ese proyecto de imagen png, compile con éxito 😀
Prashant Gaikwad
0

en mi caso, era un archivo de guión gráfico dañado

roberto
fuente
0

Después de copiar dos archivos .aiff en un grupo .scnassets, se produjo este error. La eliminación de los archivos y una "Carpeta de compilación limpia" resuelve el problema en mi caso.

nik
fuente
0

No estoy seguro de si esto ayudará a alguien, pero asegúrese de haberlo Find Implicit Dependenciesmarcado. A veces, esto puede hacer que su proyecto "pierda la pista" de dónde buscar ciertas cosas.


ingrese la descripción de la imagen aquí


Una vez que haga esto, le sugiero que también limpie su proyecto y lo reconstruya.

ingrese la descripción de la imagen aquí

Will Von Ullrich
fuente
0

Esto funcionó para mí :) Eliminé el certificado en la configuración de acceso al llavero. Vaya a Xcode y construya la aplicación de forma limpia. Ahora el certificado se crea nuevamente en el acceso a llaveros y la compilación se realiza correctamente con un dispositivo real.

Swetha Reddy
fuente
0

Solo una visualizacion

Lock Keychain "login" -> Unlock Keychain "login" -> Always allow

ingrese la descripción de la imagen aquí

yoAlex5
fuente
0

En mi caso, fue una opción activada accidentalmente. Estoy usando archivos raíz .xcconfig comunes tanto para iOS como para macOS, para el objetivo de iOS, la opción Habilitar tiempo de ejecución reforzado permaneció activada, por lo que se reemplazó la línea

ENABLE_HARDENED_RUNTIME = YES

por el

ENABLE_HARDENED_RUNTIME[sdk=macosx*] = YES

en el archivo .xcconfig resolvió el problema

Hofi
fuente
0

Puede sonar estúpido, pero intente sin contraseña cuando se lo solicite.

Tiago Gouvêa
fuente
0

Mi problema fue resuelto

  • Marque Administrar automáticamente la firma en Target MyProject y Agregar equipo.
  • Marque Administrar automáticamente la firma en Target MyProjectTest y Agregar equipo.
  • Producto -> Carpeta de compilación limpia -> Compile de nuevo o intente ejecutar en el dispositivo.

El problema ocurre cuando tienes el equipo equivocado / diferente en MyProject y MyProjectTest.

Volver a conectar su teléfono antes de la reconstrucción también puede ayudar a solucionar este problema.

Yunus
fuente