Recibo este error después de agregar una clase Swift a un antiguo proyecto Xcode.
dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib
¿Cómo puedo hacer que el proyecto vuelva a ejecutarse?
Recibo este error después de agregar una clase Swift a un antiguo proyecto Xcode.
dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib
¿Cómo puedo hacer que el proyecto vuelva a ejecutarse?
Respuestas:
Para mí ninguna de las soluciones anteriores funcionó. Descubrimos que hay un indicador ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
(en versiones anteriores: "El contenido incrustado contiene un código rápido") en la Configuración de compilación que debe establecerse en SÍ. ¡Era NO por defecto!
Este error puede ocurrir si algo salió mal durante la conversión de un proyecto Objective-C para comenzar a usar Swift. El problema es que la configuración de compilación de Linker nunca se configuró correctamente, por lo que deberá hacerlo a mano. Busque la configuración de compilación Runpath Search Paths y configúrela en:
$(inherited) @executable_path/Frameworks
EDITAR: También debo agregar que ha habido una serie reciente de estos errores causados por algo completamente diferente: Apple realizó un cambio en Swift, comenzando quizás en Xcode 6.1 o 6.1.1. La única solución parece ser salir de Xcode, destruir sus certificados en Keychain Access, ir al Centro de miembros y eliminar todos los certificados y perfiles (excepto los perfiles para aplicaciones en la Tienda; no puede eliminarlos) y luego iniciar el proceso de solicitud de certificado completo desde cero.
No estoy realmente seguro de por qué esta pregunta se está rechazando, tuve este problema también cuando intenté usar Swift por primera vez con un proyecto existente. Un reinicio de Xcode también me arregló esto.
Busqué mucho sobre este tema. Hay varias razones que causan este problema.
Si está enfrentando cuando usted y el código / biblioteca Swift en un proyecto Objectice C debe probar la Solución 1-2-3
Si se enfrenta a este problema con un nuevo proyecto de Swift, la Solución 4 le quedará mejor.
Reinicie Xcode, luego computadora y iPhone
Vaya a la configuración de compilación del proyecto y establezca Always Embed Swift Standard Libraries
(anteriormente Embedded Content Contains Swift Code
) el indicador enYES
Vaya a la configuración de compilación del proyecto y agregue @executable_path/Frameworks
aRunpath Search Paths
opción
Si ninguno de los anteriores funciona, esto debería. Apple parece ser un parche certificado ninja como se menciona en la publicación de AirSign
En los certificados de InHouse
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR
agregaron un nuevo campo llamado OU
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR
así que solo debes recrear el certificado y la provisión
@executable_path/../Frameworks
donde los proyectos de iOS lo requieren sin ..
el medio. Cambiar este valor es importante si ha convertido un objetivo de un sistema operativo a otro.
En mi caso, intentaba importar un marco personalizado y recibía un error similar. Resulta que tuve que importar el marco en los binarios incrustados en lugar de en los marcos vinculados y las bibliotecas.
Los binarios incrustados se encuentran en Configuración de proyectos -> -> General
Para los desarrolladores que han tenido este problema con las compilaciones de distribución Adhoc / Enterprise,
Cree el certificado de producción desde el portal de desarrollo y luego regenere el perfil de distribución. Descargue e instale ambos en su Mac. Asegúrese de seleccionar el perfil correcto en la configuración de compilación de Xcode y reconstruya su aplicación.
Solución 5:
En mi caso, todas las soluciones mencionadas en la respuesta de accfews fueron muy útiles, pero ninguna funcionó. Resolví mi problema agregando mi rápida biblioteca en la sección "Binarios incrustados" en la sección "General" del objetivo de mi proyecto. ¿Quizás esto se deba al hecho de que he incluido mi marco rápido en mi espacio de trabajo? ¡Lo que sea que compila ahora! ¡Prepárate Swift, estoy aquí!
Para mí, el problema se debió al hecho de que mi Autoridad de Certificación de Relaciones con Desarrolladores de Apple en todo el mundo no era válida.
Descárgalo desde aquí: https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
Arrástrelo y suéltelo en Keychain Access, limpie el proyecto y ejecútelo.
Tuve un proyecto Obj-C donde comencé a agregar archivos fuente rápidos. Lo siguiente solucionó el problema para mí:
RUNPATH SEARCH PATHS = $(inherited) @executable_path/Frameworks
EMBEDDED CONTENT CONTAINS SWIFT = YES
Acabo de crear un nuevo proyecto a partir de las plantillas Xcode 6.3 y comparé la configuración del proyecto con mi antiguo proyecto original.
Intente mantener presionada la tecla Alt, luego vaya a Producto -> Limpiar carpeta de compilación ...
Espero que ayude a alguien ...
Las razones para que esto ocurra son muchas. Después de pasar un fin de semana divertido encontrando otro problema que causa esto (el orden de la firma del código), quería crear una respuesta resumida que reúna todas las soluciones posibles:
DerivedData
y Build
. Busque en las Preferencias la ubicación de DerivedData
. Build
debe estar en la carpeta de tu proyecto.@executable_path/Frameworks
. Eso es lo fácil. Si está creando su propia línea de comando, puede estar creando sus propios .ipa
archivos para cargar. En ese caso, debe asegurarse de lo siguiente:
SwiftSupport/iphoneos
sea la misma que la versión deContents/YourApp.app/Frameworks
Swift. Debido a que Swift aún no es compatible binariamente entre versiones, debe asegurarse de que estas versiones sean las que compiló su aplicación. Puede encontrar estas bibliotecas en /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos
.codesign
las bibliotecas y los archivos de marco (debajo Frameworks
de la .app
carpeta) y luego firmar todo el .app
árbol. El .app
árbol debe estar firmado con un entitlements.plist
pero no con los marcos.Con suerte, cuando salga Swift 3.0 y ya no necesitemos combinar Swift con nuestras aplicaciones, todo este problema desaparecerá.
Tuve este problema usando una provisión móvil Ad Hoc (o empresarial) con un certificado de producción. El cambio a un certificado de desarrollo y provisión móvil resolvió el problema.
Mi proyecto es un proyecto Swift con algunas clases de Objective-C. Tuve el mismo problema cuando firmé con el antiguo certificado inHouse (empresa).
Los siguientes pasos me arreglaron esto.
Runpath Search Paths
ajuste de acumulación a: $(inherited) @executable_path/Frameworks
. Solución 6:
En nuestro caso, el Certificado de Distribución Empresarial había sido revocado. Generar un nuevo certificado y actualizar el perfil de aprovisionamiento solucionó el problema.
(Parece que hay muchas causas diferentes para este error. Espero que esto ayude a alguien).
Me he enfrentado al mismo problema, establecer la identidad de signo de código correcta resolvió el problema (Configuración de compilación-> Identidad de firma de código).
Según la pregunta técnica de Apple "Todos los certificados de desarrollador de iOS estándar y Enterprise que se crean después del lanzamiento de iOS 8 tienen el nuevo campo ID de equipo en el lugar adecuado para permitir que se ejecuten las aplicaciones de idioma Swift"
Si agrega los tres marcos a través de binarios incrustados, también se agregarán a los marcos vinculados y las bibliotecas. Eliminar las tres entradas en Linked Frameworks and Libraries resolverá el problema.
Los métodos mágicos como relanzar Xcode y reiniciar Mac no funcionan en mí.
Agregar Framework como "Binario incrustado" en lugar de simplemente "Marcos vinculados y bibliotecas" - Se solucionó mi problema.
También configuré el indicador Contenido incrustado contiene código rápido en SÍ.
Actualice a la última versión de OS X (Yosemite)
Después de horas de prueba y error, llegué a la resolución de este problema. - Si esto se aplica a su caso, por supuesto.
Tuve el mismo problema hasta que actualicé mi Mac OS X de Mavericks a Yosemite. - Solucionó mi problema, espero que también solucione el tuyo
Probé todas las soluciones que encontré en la web, incluso para Apple y nuevos certificados. Sin éxito.
La única forma en que podía ejecutar xcode, después de 6 meses de intentarlo, era creando una nueva cuenta en mi macbook.
Por lo general, este error desaparecerá si agrega esta biblioteca al segmento "Copiar archivos" en sus Fases de compilación.
Ninguna de estas soluciones parecía funcionar constantemente para mí; después de cada par de ejecuciones exitosas, volvería a fallar. El indicador "El contenido incrustado contiene un código rápido" siempre se configuró en SÍ para mí.
Resulta que configuré Xcode para que sea compatible con 6.3. Cambiando de nuevo para que sea compatible con 3.2 lo resolvió:
También tuve este problema, solo que no estaba localizando libswiftXCTest.dylib
.
La solución fue agregar XCTest.framework
al objetivo Pruebas, en Build Phases/Link Binary with Library
. Recibía este error incluso cuando intentaba construir el objetivo principal.
Esto apareció cuando agregué un nuevo objetivo de extensión Today con lenguaje Swift a un proyecto antiguo. Se soluciona fácilmente actualizando el proyecto a la configuración recomendada. Xcode 6.0.1
Tuve el mismo problema usando Mavericks, Xcode 6.1.1, probando en un iPhone5 con iOS 8.1.1. Intenté todas las soluciones posibles, incluidos los nuevos certificados y los perfiles de aprovisionamiento, pero nada me ayudó. Hice los cambios a Embedded Content Contains Swift Code
yRunpath Search Paths
tanto a nivel de proyecto y el nivel de destino.
Ahora he instalado Yosemite, y sin más cambios, comenzó a funcionar.
otool