La ejecución de aplicaciones de iOS causa un error de tiempo de ejecución para los marcos "firma de código no válida"

33

Cada vez que intento ejecutar esta aplicación, se compila correctamente y se instala, pero tan pronto como se ejecuta, la aplicación se rompe e imprime este mensaje de error. XCode 11 y iOS 13.

dyld: Library not loaded: @rpath/StandardCyborgFusion.framework/StandardCyborgFusion
  Referenced from: /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/StandardCyborgExample
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion: code signature invalid for '/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion'

He visto muchas publicaciones similares aquí y en los foros de desarrolladores de aplicaciones sobre este problema, pero ninguna tiene una explicación o una solución válida. He intentado

  • Limpieza y construcción
  • Reiniciar XCode
  • Reiniciar Mac
  • Restablecer completamente el llavero
  • Verificación de todos los certificados de llavero La configuración de confianza está en "Usar valores predeterminados del sistema"
  • Restablecimiento de fábrica de mi Mac

ACTUALIZACIÓN 1: Parece ser un problema con mi dispositivo iOS. La aplicación puede iniciarse en un simulador, pero el simulador no es bueno para mis propósitos de desarrollo, así que necesito hacer que esto funcione en mi dispositivo. Recientemente actualicé mi iPhone XR a iOS 13.3.1.

ACTUALIZACIÓN 2: Encontré otro grupo que parece tener el mismo problema https://github.com/flutter/flutter/issues/49504 .

Aidan Rosswood
fuente
¿De dónde es StandardCyborgFusion.framework? contacte a su desarrollador ...
usuario3441734
1
¿Intentaste vincular o incrustar el marco?
El peatón
1
Este error ocurre con todas las aplicaciones. No es un marco específico.
Aidan Rosswood
Se agregó una actualización. Parece ser específico del dispositivo ya que funciona en un simulador, y un amigo mío puede compilar los mismos marcos en su dispositivo.
Aidan Rosswood
1
Su StandardCyborgFusion.framework no está firmado por código o no está compilado para la arquitectura arm64. Todavía no nos ha dicho cómo obtuvo el marco. Además, si alguien le dice que reinicie Xcode para solucionar problemas de compilación / vinculación, vuélvalos a votar.
Claus Jørgensen

Respuestas:

25

Estoy usando CocoaPods, y para mí esto corrige el error (Respuesta de Wasa22 sobre el problema de github):

  1. Abre el podfile
  2. Comenta use_frameworks!
  3. Añadir use_modular_headers!
  4. En Terminal, haga una actualización de pod -> pod install
  5. En Xcode, Clean (Command-Shift-K) -> Build and Run.

Fuente: https://github.com/Alamofire/Alamofire/issues/3051

Paul11100
fuente
¡Esta solución realmente funciona!
RapsIn4
No he tenido tiempo de verificar si esto funciona ya que pedí prestada una cuenta de desarrollador de amigos, pero marcaré esto como correcto. Agradecería que otros pudieran confirmar que esto también funciona para ellos.
Aidan Rosswood
¿Qué pasa si no tengo el podfile, qué puedo hacer en este caso?
abdou31
1
comentar use_frameworks y ejecutar el comando de actualización de pod es suficiente
Lahiru Prasanna
27

Este es un problema con iOS 13.3.1. Todos los marcos dinámicos que se compilan para la versión más reciente de iOS 13.3.1 experimentan este problema cuando se ejecutan en un perfil de aprovisionamiento personal / cuenta de desarrollador. La solución, copiada de jmagman de Github, está a continuación.

Usted puede:

  1. Utilice un perfil de aprovisionamiento de equipo no personal (cuenta de desarrollador pagada).
  2. Ejecutar en el simulador 13.3.1.
  3. Pruebe en un dispositivo iOS real con 13.3 o inferior.
  4. Instale el perfil beta en su dispositivo de prueba e instale iOS 13.4 beta 3. (Solucionado)
  5. Espera a que se lance iOS 13.4.

Esperemos que este problema se solucione pronto.

Aidan Rosswood
fuente
Estoy bajando de iOS 13.3.1 a 13.3. No puedo quedarme y esperar hasta que Apple arregle esto.
Starsky
Eh ... parece que no puedo hacer una copia de seguridad de mis datos mientras tengo iOS 13.3.1 y luego restaurarlo en iOS 13.3. Eso es triste ((La restauración debe realizarse bajo las mismas versiones de iOS. Por lo tanto, esta tampoco es una solución ...
Starsky
Desearía haber encontrado esta respuesta antes. . . Pasé 3 horas tratando de configurar mi configuración de compilación, binarios y fases de compilación. . . Obteniendo una cuenta paga resuelta, listo
Marcus Kim
Apple clásico, creando un error que te empuja a comprar algo.
Darius Buhai
Muchas gracias por la respuesta clara y correcta, +1.
mAc
3

Esto parece haberse solucionado en iOS 13.4 beta 3. Puede instalar el perfil beta o esperar el lanzamiento de iOS 13.4.

Jenn
fuente
1
El 24 de marzo, Apple lanzó iOS 13.4. ¡Esta actualización incluye una solución para el problema de firma de código! Consulte iOS 13.4 beta 3 para obtener más información.
Rover
2

Veo 2 formas de arreglarlo.

  1. Bajar de categoría a iOS 13.3. iOS 13.3.1 rompe la firma de terceros a menos que tenga una cuenta de desarrollador paga. Si es posible (obtenga un iPhone barato dedicado al desarrollo)

  2. Actualice Mac OS, Xcode e iOS a la última versión Beta (Actualizar cualquiera de ellos por sí solo no funcionará, porque iOS beta requiere la última versión de Xcode beta, y Xcode requiere la última versión de Mac OS Catalina)

zhuangr
fuente
0

Si ejecuta desde Xcode verá un error como:

/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820-A146- 
 A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter: code signature 
invalid for '/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820- 
A146-A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter'

solución proporcionada por jmagman en Github

jmagman se ha escalado a Apple (FB7562472) y avisará a todos si escuchan algo. más detalles en github

parikhparth23
fuente
0

Encontré este problema al intentar compilar en mi dispositivo iOS real (pero funcionó bien en el simulador). Pasé al menos 10 horas tratando de corregir este error. Intenté todo en todos los foros, nada funcionó. ¡Pero esto es lo que finalmente funcionó para mí!

  • Actualización de iOS 13.3.1 a iOS 13.4.1

¡No podría haberlo imaginado, pero es cierto que iOS 13.3.1 rompe la firma de terceros a menos que tenga una cuenta de desarrollador pagada!

Intercambiar
fuente
Solo tiene que actualizar su dispositivo iOS a 13.4.x. Después de actualizar puedo ejecutar algún proyecto de ejemplo sin ningún otro ajuste.
corban