ios - ld: archivo no encontrado: el comando del enlazador falló con el código de salida 1
objective-c xcode (10)
Tengo el siguiente error al compilar el proyecto en Xcode:
ld: archivo no encontrado
/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events clang: error: código de acceso de la invocación del comando de acceso al código de acceso (error: enlace 1)
Estoy atrapado con este error durante la última hora. ¿Alguna solución? El código funcionó bien en iOS 7 y xCode 5.0 . Ahora para iOS8 me da este error.
Usando marcos:
- CoreTelephony
- Mapkit
- Facebook.SDK v3.20
- Fundación
- CoreGraphics
- Marco UIKit
ERROR COMPLETO:
<pre>
Ld /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests normal arm64
cd /Users/MacBookPro/Desktop/Social_Events/Social_Events/Social_Events
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
</pre>
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -L/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos -F/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/Developer/Library/Frameworks -filelist /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests.LinkFileList -dead_strip -bundle_loader /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events -framework XCTest -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=7.1 -framework XCTest -framework UIKit -framework Foundation -Xlinker -dependency_info -Xlinker /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests_dependency_info.dat -o /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests
>ld: file not found: /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events
clang: error: linker command failed with exit code 1 (use -v to see invocation)
>(null): File not found: /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events
- Goto Cree configuraciones de sus pruebas llamadas PuzzleGameTests.
- Vaya a Configuración de prueba, escriba $ (BUILT_PRODUCTS_DIR) /PuzzleGame.app/PuzzleGame
- Limpiar y construir
Nota: PuzzleGame es el nuevo nombre de mi proyecto (nombre del producto). RandomNumber es el nombre antiguo de mi proyecto (nombre del producto).
¿Intentaste limpiar tus datos derivados?
Xcode5->Organizer->Projects->Select your project->Delete the derived data.
El problema es que después de cambiar el nombre del producto, su objetivo de Pruebas sigue buscando el nombre de la aplicación anterior.
Seleccione su objetivo de Pruebas y luego, en la Configuración de compilación, modifique los valores de TestHost para que correspondan con su nuevo nombre de producto de la siguiente manera:
$(BUILT_PRODUCTS_DIR)/YourNewProductName.app/YourNewProductName
Encontré un problema similar al agregar
FBSDKCoreKit.framework
y la solución fue:
-
Si ya se agregaron
frameworks
, elimínelos con la opciónremove all references
. -
Arrastre y suelte los
frameworks
directamente en elgroup
que desea que coloque en el proyecto. - no vuelva a arrastrar ni cambie su ubicación posterior
Nota: Cuando arrastramos y soltamos marcos en xcode, establece automáticamente la ruta de búsqueda del marco en
<yourproject> -> Targets -> <yourproject> -> Search Paths -> Framework Search Paths
.
una vez que reubicamos los marcos, las
Framework Search Paths
se vacían y se produce un
linker error , framework not found
.
Es posible que reciba este error porque cambió el nombre de su proyecto y ya no se pueden encontrar las
Tests
.
Esto es fácil de arreglar:
Resuélvelo en Xcode así:
- Seleccione su proyecto desde el navegador de proyectos.
-
Seleccione
[Your project''s Tests]
en los objetivos -
En
General
pestañaGeneral
cambie laHost Application
del menú desplegable - Construye y corre.
Este problema me sucedió porque cambié el nombre de mi proyecto y las pruebas ya no pudieron encontrarlo.
Intenta eliminar el objetivo "Social_EventsTests".
Lo he resuelto cambiando el nombre del producto.
En el objetivo de la aplicación, elija Configuración de compilación.
En las opciones de Empaquetado, debe cambiar el nombre de su producto al nombre que se muestra en el error.
Resolvió mi problema y el código comenzó a compilarse. Mis casos de prueba también se están ejecutando.
Tuve un problema con "marco no encontrado". Fue después de renombrar mi proyecto.
Vaya a Configuración del proyecto, seleccione el objetivo ( no el proyecto). En la pestaña General, busque "Marcos y bibliotecas vinculadas" y elimine el nombre anterior.
Tuve un problema similar cuando agregué el objetivo de prueba de unidad a mi proyecto existente. Tengo todo tipo de errores. Tuve que ejecutar algunos bucles para que finalmente se ejecute. Enumerándolos a continuación
-
Asegúrese de que su entrada en la ruta de búsqueda de encabezado para el objetivo de prueba coincida con la ruta de búsqueda de encabezado en la carpeta principal del proyecto
-
Si está utilizando pods, es posible que se ejecute un error como "No se encontró el módulo Firebase". Para esto, simplemente agregue las siguientes líneas de código a su archivo pod y ejecute pod install
objetivo ''YourProjectNameTests'' hacer
¡heredar! : search_paths
# Pods para probar
fin
-
Si también obtiene un error de No se encuentra el archivo de encabezado Bridging, como hice, asegúrese de agregar lo mismo para su objetivo de prueba en la configuración de compilación en el código general de compilación Swift
-
También deberás seguir los pasos mencionados por @Jose Llausas
Tuve un problema similar: es porque estaba usando Cocoapods y había abierto el archivo .xcodeproj en lugar del archivo .xcworkspace ... ¡sí!