dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/Stylist.app/Stylist
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib'
(lldb)
Recibo este error al construir en mi iPhone. Puedo construir sobre el simulador. He rehecho todos mis archivos de aprovisionamiento, pero todavía no puedo construir en mi iPhone. Mi Xcode es así
¿Es este un problema de marco o un problema de firma? Esto no sucedió en Xcode 6. Gracias.
Respuestas:
Tengo este problema antes por revocar accidentalmente mi certificado. Entonces todos mis proyectos rápidos tienen este problema. Hay dos formas de resolver esto:
Haga clic en Producto → Limpiar (o CMD+ Shift+ K)
O limpiando manualmente los archivos de configuración de Xcode:
fuente
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.
Solución 1 :
Reinicie Xcode, luego computadora y iPhone
Solución 2 :
Vaya a la configuración de compilación del proyecto y establezca el
Embedded Content Contains Swift
indicador de Código en SÍSolución 3:
Vaya a la configuración de compilación del proyecto y agregue
@executable_path/Frameworks
a la opción Rutas de búsqueda de RunpathSolución 4:
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
agregaron un nuevo campo llamado
OU
así que solo debes recrear el certificado y la provisión
fuente
Después de intentar muchas de las otras soluciones mencionadas, para mi vergüenza eterna, hacer un Xcode-> Producto-> Limpiar y reiniciar Xcode, funcionó.
fuente
Para mí, este problema aparecía debido al certificado WWRD: la mina estaba actualizada pero, por alguna razón, estaba configurada para 'confiar siempre' en lugar de 'usar el sistema predeterminado', lo que aparentemente hace la diferencia.
fuente
Si restablece accidentalmente su llavero, esto puede ocurrir debido a la falta de certificados de Apple en el llavero. Seguí la respuesta sobre esto para resolver mi problema.
fuente
Eliminar el DerivedData hizo el truco para mí.
Lo hice a través de Xcode -> Preferencias -> Ubicaciones -> hizo clic en la flecha detrás de la ruta DerivedData y eliminó toda la carpeta DerivedData en el Finder.
fuente
Window > Projects > My Project > Derived Data > Delete
hizo el trabajo por míOcurrió de mi lado al crear una aplicación en la línea de comando a través de xcodebuild y xcrun PackageApplication, firmando la aplicación con un perfil empresarial. En nuestros servidores de compilación de CI, el certificado se configuró en "Confiar siempre" en el llavero (seleccione certificado -> Obtener información -> Confiar -> "Usar valores predeterminados del sistema" se puede cambiar a "Confiar siempre"). Tuve que volver a configurarlo en "Usar valores predeterminados del sistema" para que esto funcione. Inicialmente configuramos esto en "Confiar siempre" para solucionar los diálogos de llavero que aparecen después de las actualizaciones de software y actualizaciones de certificados.
fuente
A riesgo de sembrar más confusión, tuve este problema al actualizar a XC8.
Ninguna de estas sugerencias, ni de ningún otro hilo, lo resolvió. Lo que sí funcionó fue eliminar TODO de la fase de compilación "Enlace binario con bibliotecas", la fase de compilación "Dependencias de destino" y la configuración general "Bibliotecas y marcos vinculados".
Para su información, estoy usando Cartago y había agregado
$(PROJECT_DIR)/Carthage/Build/tvOS
a laFRAMEWORK_SEARCH_PATHS
configuración de compilación, para que se puedan encontrar mis marcos.FYI 2, estos proyectos y los marcos, son 100% rápidos y los marcos se están construyendo
DEFINES_MODULE = YES
.fuente
fuente
Citado de Technical Q&A QA1886 :
La aplicación Swift se bloquea al intentar hacer referencia a la biblioteca de Swift libswiftCore.dylib.
P: ¿Qué puedo hacer sobre el error de carga de libswiftCore.dylib en la consola de mi dispositivo que ocurre cuando intento ejecutar mi aplicación de idioma Swift?
R: Para corregir este problema, deberá firmar su aplicación utilizando certificados de firma de código con la Unidad organizativa (OU) del sujeto configurada en su ID de equipo. 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.
Por lo general, este error aparece en el registro de la consola del dispositivo con un mensaje similar a uno de los siguientes: [....] [negar-mmap] el archivo asignado no tiene un identificador de equipo y no es un binario de plataforma: / private / var / mobile / Contenedores / Paquete / Aplicación / 5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1 / YourAppNameHere.app / Frameworks / libswiftCore.dylib
Los nuevos certificados son necesarios al crear un archivo y empaquetar su aplicación. Incluso si tiene uno de los nuevos certificados, simplemente renunciar a un archivo existente de aplicaciones rápidas no funcionará. Si se creó con un certificado anterior a iOS 8, deberá crear otro archivo.
Importante: Tenga cuidado si necesita revocar y configurar un nuevo certificado de Distribución de empresa. Si usted es un desarrollador de Enterprise interno, deberá tener cuidado de no revocar un certificado de distribución que se utilizó para firmar una aplicación que cualquiera de sus empleados de Enterprise todavía está utilizando, ya que cualquier aplicación firmada con ese certificado de distribución empresarial dejará de funcionar de inmediato. Lo anterior solo se aplica a los certificados de distribución empresarial. Los certificados de desarrollo se pueden revocar de manera segura para desarrolladores de iOS empresariales / estándar.
A medida que los muchachos de AirSign afirman que el problema se origina en el atributo de OU que falta en el campo de asunto del certificado interno.
Asunto: UID = 269J2W3P2L, CN = Distribución del iPhone: Nombre de la empresa, OU = 269J2W3P2L, O = Nombre de la empresa, C = FR
Tengo un certificado de desarrollo empresarial, la creación de uno nuevo resolvió el problema.
fuente
probablemente no tienes el arco correcto en esa biblioteca, puedes hacer un
file /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib
y debería mostrarle los arcos que están en esa biblioteca ... No estoy seguro de cómo está vinculando, pero probablemente no sea la forma correcta (si libswiftcore es una biblioteca de fábrica, si es algún complemento en la biblioteca, entonces probablemente no está compilado correctamente)
fuente
Yo también tuve este problema, sin embargo, nada de lo que intenté anteriormente y en varias otras publicaciones funcionó ... excepto por esto.
Para mí, cambié el identificador de paquete ya que tenemos una ID de paquete diferente para distribución frente a desarrollo.
Mi hardware está permitido en esta disposición y la cuenta de mi equipo es válida, pero arrojó el error anterior en algún otro marco.
Resulta que necesitaba eliminar por completo la versión anterior de la aplicación de mi teléfono. Y no solo eliminándolo de la manera estándar.
Solución:
Evidentemente, al instalar la misma aplicación bajo el mismo equipo con una ID de paquete diferente, si no está comenzando completamente desde cero, hay algunas referencias a marcos que se enturbian.
Espero que esto ayude a alguien.
fuente
Acabo de limpiar el proyecto y
Clean Build Folder
por alt Menú del productofuente
Los siguientes pasos funcionaron con éxito.
1) En la biblioteca dinámica, el nombre de instalación tenía que ser "@loader_path"
2) En el proyecto principal, la ruta de búsqueda de Runpath debe ser "@loader_path" y "@ loader_path / Frameworks"
3) Desde el llavero utilizado ver -> mostrar certificados caducados y eliminar todo.
4) Eliminó el certificado de distribución y lo reinstaló.
5) Descargado developer.apple.com/certificationauthority/AppleWWDRCA.cer e instalado.
fuente
Recientemente me enfrenté a este problema. Intenté todas las soluciones posibles pero nada funcionó. Al final, simplemente salí de Xcode, eliminé los certificados en llavero e instalé todo nuevo y reinicié mac. Afortunadamente funcionó a las mil maravillas :)
fuente
Tuve el mismo problema y pude solucionarlo volviendo a descargar el
WWDR (Apple Worldwide Developer Relations Certification Authority)
. Descargar desde aquí :y establecer siempre confiar en el llavero. Cambiando a
Use System Default
funciona para mí, espero que esto te ayude
fuente
En mi caso, el llavero muestra el certificado como no confiable, para resolver este problema, configuré las opciones de confianza del certificado como "Confiar siempre". Establecer el certificado en "Confiar siempre" fue la causa principal del bloqueo. No pude instalar la aplicación en el dispositivo. Lo resolví estableciendo la opción de confianza en "Valores predeterminados del sistema" en lugar de "Confiar siempre". Funcionó para mí.
fuente
Verá los mismos síntomas si está trabajando en Xamarin Studio y hace referencia a una biblioteca portátil para la que necesita hacer el cebo PCL y cambiar el truco. Esto ocurre si el proyecto de referencia no está actualizado con respecto a la biblioteca referenciada. Descubrí que había actualizado mi biblioteca común a un marco más nuevo, había actualizado mis paquetes pero no había actualizado mis paquetes de iOS para que coincidieran. Actualizar los paquetes resolvió este error para mí.
fuente
Todavía puede obtener este problema después de probar @Jieyi Hu Answer. parece que está arreglado, pero si vuelve a aparecer (posiblemente en xCode 9).
Sin embargo, esta solución parece funcionar (se aplica a Cocoapods 1.5.x):
abra Podfile en su proyecto y agregue esto:
post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete('CODE_SIGNING_ALLOWED') config.build_settings.delete('CODE_SIGNING_REQUIRED') end end
actualización de pod
Fuentes:
https://github.com/evgenyneu/Cosmos/issues/105
https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911
Gracias @ Cédric
fuente
Puede regenerar su certificado y reiniciar su iPhone.
Esto funciona para mí, espero que esto te ayude.
fuente
Resuelvo el problema comprobando mis llaveros locales. Mantenga login.keychain tiene el certificado correcto
fuente
Debe establecer el certificado (solo perfil de certificado y no de aprovisionamiento) para cada marco dinámico que esté vinculando (directa o indirectamente) en su proyecto
fuente
En mi caso, después de eliminar toda la certificación creada por Xcode y descargada. Deje que xcode 8.1 gestione la certificación de la aplicación. ¡Funciona bien! Espero que esto pueda ayudar a alguién.
fuente
He encontrado este problema SOLO en el simulador. Parece estar relacionado con algunos derechos no válidos en nuestra aplicación, pero el problema no aparece cuando lo ejecutamos en un dispositivo.
fuente
Resolví usando estos trucos.
Paso 1:
Vaya a la configuración de compilación del proyecto y agregue @ ejecutable_path / Frameworks a la opción Runpath Search Paths
Paso 2:
Vaya a la configuración de compilación de destino y agregue @ executetable_path / Frameworks a la opción Runpath Search Paths y Framework Search Paths.
Paso 3:
Vuelva a descargar WWDR (Autoridad de Certificación de Relaciones con Desarrolladores de Apple en todo el mundo), configurada como Usar opción predeterminada del sistema.
Paso 4:
Eliminar todos los datos derivados utilizando Terminal
rm -rf ~ / Library / Developer / Xcode / DerivedData / *
Paso 5 :
Elimine todos los certificados y vuelva a instalarlo en Keychain. He habilitado la opción Usar valores predeterminados del sistema.
Paso 6:
Reiniciar Xcode.
fuente
enfrentado el mismo problema
fuente
Me encontré con este problema con XCode 9. Nada de lo anterior funcionó. Esto hizo el truco para mí:
Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"
a$(PROJECT_DIR)
(recursivo)fuente
Esto resolvió mi error.
Vuelva a descargar WWDR (Autoridad de Certificación de Relaciones con Desarrolladores de Apple en todo el mundo), configurada como Usar opción predeterminada del sistema.
fuente
En mi caso, fue un problema con una de las cápsulas que estaba usando. Terminé eliminando ese pod y colocando el código de él en mi proyecto manualmente.
fuente
ingrese la descripción de la imagen aquí
Tengo un problema similar, que detalla información como la primera imagen.
Mi solución es que cambiar la certificación siempre confía para usar los valores predeterminados del sistema. igual que: ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí
fuente