ios dyld: Biblioteca no cargada: @ rpath / libswiftCore.dylib




15 Answers

Sorprendentemente, todo lo que hice fue "Limpiar" mi proyecto (shift + cmd + K) y funcionó. Parecía estar relacionado con el certificado sin embargo.

ios xcode swift

Estoy intentando ejecutar una aplicación Swift en mi iPhone 4s. Funciona bien en el simulador, y mi amigo puede ejecutarlo con éxito en su iPhone 4s. Tengo iOS 8 y el lanzamiento oficial de Xcode 6.

Yo he tratado

  • Reiniciando Xcode, iPhone, computadora
  • Limpieza y reconstrucción
  • Revocar y crear nuevo perfil de certificado / provisión.
  • Runpath Search Paths es $(inherited) @executable_path/Frameworks
  • El contenido incrustado contiene código Swift es 'Sí'
  • Identidad de firma de código es desarrollador

A continuación se muestra el error en su totalidad.

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/Frameworks/libswiftCore.dylib: mmap() error 1 at
address=0x008A1000, size=0x001A4000 segment=__TEXT in Segment::map() mapping
/private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/APPLICATION_NAME/Frameworks/libswiftCore.dylib



Para el dispositivo, también necesita agregar el marco dinámico a la sección Embedded binaries en la pestaña General del proyecto.




Creo que es un error cuando los certificados se generan directamente desde Xcode. Para resolver (al menos en Xcode 6.1 / 6A1052d):

  1. Vaya al sitio web de Apple Developer donde se administran los certificados: https://developer.apple.com/account/ios/certificate/certificateList.action
  2. seleccione su (s) certificado (s) (que deberían mostrar "Administrado por Xcode" en "Estado") y "Revocar"
  3. siga las instrucciones aquí para generar manualmente un nuevo certificado: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-SW32
  4. Vaya a Xcode> Preferencias> Cuentas> [su ID de Apple]> haga doble clic en el nombre de su equipo> haga clic en el botón Actualizar para actualizar los certificados y los perfiles de aprovisionamiento



Tenía este problema con la ejecución de mis pruebas de Swift (pero no mi aplicación). Resulta que la prueba necesitaba tener más de @executable_path/Frameworks en su configuración de compilación Runpath Search Paths para el objetivo de la prueba. La configuración de las Rutas de búsqueda de Runpath a las siguientes me sirvió de encanto:

$(inherited)
@executable_path/Frameworks
@loader_path/Frameworks



Runpath Search Paths configurar las Runpath Search Paths en @executable_path/Frameworks como se muestra en la siguiente captura de pantalla de Configuración de compilación:

Si tiene marcos incrustados hechos en Swift, entonces puede configurar YES para que el Embedded Content Contains Swift Code opciones de compilación Embedded Content Contains Swift Code .




Estaba teniendo el mismo problema después de cambiarme a un nuevo Mac, y después de las horas, probando todas las respuestas sugeridas en las preguntas, nada de esto funcionó para mí.

La solución para mí fue instalar este certificado faltante. http://developer.apple.com/certificationauthority/AppleWWDRCA.cer

Encontré la respuesta aquí. https://.com/a/14495100/976628




Resolví eliminando los datos derivados y esta vez funcionó correctamente. Probado con Xcode 7.3.1GM




En mi caso, era solo el nombre de mi objetivo:

Lo renombré así : MyApp.something y apareció el mismo problema. Pero vi en la ventana de Configuración de compilación, el nombre de mi módulo de producto ha sido cambiado como este MyApp-algo . Por lo tanto, eliminé el punto en mi nombre de destino ( MyAppSomething ) y el problema desapareció.




Ninguna de las soluciones funcionó para mí. Reiniciando el teléfono lo arregló. Extraño pero funcionó.







Este mensaje de error también puede deberse al actualizar Xcode (y posteriormente a una nueva versión de Swift) y su proyecto utiliza un marco de trabajo creado / compilado con una versión anterior / anterior de Swift.

En este caso, reconstruir el marco y volver a agregarlo solucionará el problema.




Estoy usando Xcode 8.3.3 y Xcode 9.2. La solución para mí fue cambiar mi Xcode predeterminado de 8 a 9 usando Xcode Select:

$ xcode-select - print-path

$ sudo xcode-select -switch /Applications/Xcode-9.2.app

Edición: En realidad, lo que parecía ayudar aquí era que Xcode 9.2 utilizaba los datos derivados de Xcode 8.3.3. No es una solución, pero al menos me permite seguir adelante con mi trabajo.




Las soluciones anteriores no funcionaron para mí. Arreglo el problema siguiendo los siguientes pasos:

  1. Tuve que ir al teléfono (Configuración> Perfil) y eliminar los perfiles que estaban en el teléfono (incluidas todas las aplicaciones asociadas con ese perfil / provisiones).
  2. Después de eso, asegúrese de descargar las disposiciones de Apple en xcode. Vaya a configuración de xcode> cuenta e inicie sesión en su cuenta de desarrollador de Apple.



En mi caso,

He configurado @executable_path/Frameworks

Pero también tengo que establecer "Rutas de búsqueda de marco"

$(PROJECT_DIR)/Frameworks

cambiar como recursive

Lo que funciona para mí.




En mi caso, uno de mis objetivos de prueba estaba funcionando pero el otro no. Estaba dando el error anterior con una biblioteca faltante o lo que sea. Comparé las configuraciones para ambos objetivos de prueba y encontré que a uno le faltaba la configuración de "Host de prueba", ¡así que copié eso del objetivo de prueba de trabajo y solucioné mi objetivo de prueba roto!




Related