ios unit-testing linker-errors file-not-found

ios - "Archivo no encontrado", "comando del enlazador falló con el código de salida 1" en Xcode 4.5.1



unit-testing linker-errors (9)

Estoy desarrollando una aplicación de iOS existente y tengo que escribir casos de prueba unitaria para este proyecto. Está compilando y ejecutándose en Simulator 6.0. Cada vez que intento probar el proyecto, muestra el siguiente mensaje de error. No soy capaz de calcular el error exacto.

id: file not found: /Users/Yuva/Library/Developer/Xcode/DerivedData/FlyApp-aexukpgtbathuadgxlnm/Build/Products/Debug-iphonesimulator/FlyApp.app/FlyApp clag: error: linker command failed with exit code 1 (use -v to see invocation)

¿Podría ayudarme a resolver este error de enlazador y probar la aplicación?


ARGH! Este es un problema terriblemente frustrante que salió de la nada de mi XCode 8.2

En mi caso, todo se redujo a eliminar mi objetivo de Pruebas del esquema, crear y ejecutar la aplicación principal y luego volver a leer el objetivo de Pruebas en la sección "Prueba".

Parece que el objetivo de Pruebas estaba tratando de encontrar algo que quería en los Datos Derivados que aún no se había creado. Ejecutar la aplicación sin intentar crear pruebas también permitió preparar los datos derivados que faltaban anteriormente.

... Locura está haciendo lo mismo en XCode dos veces y esperando el mismo resultado: |


Borre su esquema y vuelva a crearlo (haga clic en el icono nuevo o use autocreate of xcode). Esto funciona para mi.


Crea un nuevo esquema. El identificador de paquete / nombre de destino / ejecutable / nombre de proyecto, etc. son conceptos ligeramente diferentes. Si cambia uno (como yo lo hice), el esquema anterior aún puede configurarse para buscar el valor anterior como el nombre del ejecutable, mientras que el proceso de compilación puede haberse actualizado para no construir ese ejecutable.


Debe haber cambiado el nombre de su producto. Debido a la falta de concordancia de su nombre de espacio de trabajo y nombre del producto (aplicación), este error ocurre.

Solo necesita reemplazar el nombre del espacio de trabajo por el nombre del producto (aplicación) en la configuración de TEST HOST Build de ProjectName-Pruebas de segmentación como se indica en la imagen. Para recuperar eso, seleccione ProjectName-Test target, seleccione Build Settings, busque el término Test Host.

Esta es la solución de configuración estándar para este error.

¡¡Aclamaciones!!


En xcode 6 necesita:

  1. ir a la carpeta de productos
  2. haga clic en el archivo .xctext
  3. en "OBJETIVOS" elija Pruebas
  4. y en la aplicación de host elige tu aplicación.
  5. Haz clic en la aplicación de creación.

¡Funciona para mi!


Encontré el mismo mensaje de error. Resultó que había cambiado el nombre de mi objetivo de la aplicación y no había actualizado el objetivo de la prueba, la configuración de la compilación, la configuración del gestor de paquetes al nuevo nombre de mi aplicación.

Se pueden encontrar más detalles sobre esta configuración en http://twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/ los mismos pasos y me ayudó a arreglar mi proyecto en Xcode 5.


Este error me volvió loco por 1.30 horas

Cambié el nombre de mi producto y deshabilité la opción de instantánea. Entonces, de repente, aparece este error.

El error es ld: archivo no encontrado: .././ nombredelproducto.app anterior / nombredelproductoprevio

Pasos que he seguido para depurar y corregir

  1. Abierto el organizador eliminó los datos derivados, reinicie Xcode. - no resuelto

  2. Siguió los pasos de este enlace http://twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/ - mismo error, no resuelto.

  3. Finalmente cambié el nombre del Esquema, borré mi viejo esquema y agregué nuevo, he resuelto mi problema.

Todos los pasos anteriores son válidos.

Entonces


La respuesta se encuentra en la entrada Configuraciones de compilación> Rutas de búsqueda de bibliotecas. Asegúrese de que no haya rutas completas que se enumeren allí. Decorarlos con la expresión $ SRCROOT y adjuntar la ruta con comillas dobles. Si hay salpicaduras de escape, asegúrese de eliminarlas también.

Haz una limpieza y luego compila y deberías volver a estar en el negocio. Esto parece ser un problema con Xcode 5.x


Su enlazador está buscando un archivo en: /Users/Yuva/Library/Developer/Xcode/DerivedData/FlyApp-aexukpgtbathuadgxlnm/Build/Products/Debug-iphonesimulator/FlyApp.app/FlyApp

¿Siguió la ruta para determinar si el archivo está allí? Tenga en cuenta que FlyApp.app es probablemente un paquete y tendrá que "ver el contenido del paquete" si está viendo desde Finder. Si no está allí, o bien 1) primero necesitas crear FlyApp.app, o 2) tienes algo en tu código de prueba que depende de que esté allí, lo cual no se puede determinar a partir de tu pregunta.