2012-01-27 7 views
7

Tengo un objetivo de publicación y un objetivo de prueba, quiero cambiar el nombre del objetivo de publicación, pero si lo hago, empiezo a obtener un error de vinculación en el objetivo de prueba. Como son pruebas unitarias, no pensé que debería/debería haber una dependencia dentro del objetivo de la prueba con el objetivo de lanzamiento, pero aparentemente lo hay. El error de vinculación es:¿Cómo puedo cambiar el nombre de un objetivo de lanzamiento sin afectar la construcción del objetivo de prueba de unidad?

ld: file not found: /Users/Cequint/Library/Developer/Xcode/DerivedData/XYZ-apppviisyaexwpdcwgjtfldjotro/Build/Products/Debug-iphonesimulator/XYZ.app/XYZ 
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1 

XYZ.app es el nombre del destino de liberación antes de que yo le cambió el nombre.

¿Existe una manera automática o rápida de actualizar el objetivo de la unidad de prueba para que se mantenga en el paso?

+0

Esto parece estar en el simulador. Asegúrese de ejecutar "Restablecer contenido y configuración" en el menú Simulador de iOS para borrar primero su caché. – Rayfleck

+0

El error del enlazador sigue ahí después de hacer eso, pero ahora cambió a no poder encontrar XYZRenamed.app. (Construyo la aplicación primero) – Gruntcakes

+0

No sé cómo pero lo hice funcionar. Me he dado cuenta de que Xcode parece un poco defectuoso en términos de cosas residuales que no se borran adecuadamente cuando deberían, y creo que esto es una manifestación de eso. – Gruntcakes

Respuesta

0

Dependiendo de cómo se haya agregado el objetivo de la prueba unitaria, puede o no tener una dependencia de compilación en el objetivo de la prueba con el objetivo de la aplicación. Verificaría primero en objetivos-> objetivo de prueba-> fases de compilación-> dependencias de destino. Creo que XCode lo actualizará automáticamente, pero nunca se sabe ...

Un objetivo más para buscar objetivos está en el esquema de compilación de pruebas de unidad, donde debería ver el objetivo de prueba (más opcionalmente el objetivo del proyecto en sí, ya que tengo una dependencia en mi proyecto de prueba personal).

Otro lugar para probar el método de reinicio mencionado por los otros arriba es ir al organizador, seleccionar proyectos, luego 'borrar ...' todos los datos derivados para el proyecto en cuestión.

0

Probablemente un poco tarde con esta respuesta, pero he experimentado este mismo problema (Xcode 6.3) y encontrado una solución:

  1. Ir al inspector de proyectos y seleccione el destino de la prueba unidad Localizar el anfitrión de prueba valor (que será algo así como $(BUILT_PRODUCTS_DIR)/MyOldAppTargetName.app/MyOldAppTargetName)
  2. Editar el valor Host de prueba para reflejar el nuevo nombre de destino aplicación (algo así como $(BUILT_PRODUCTS_DIR)/MyNewAppTargetName.app/MyNewAppTargetName

He presentado esto como http://www.openradar.me/21139630 y rdar: // 21139630 con Apple. Siéntase libre de engañar si también experimenta este problema.

Cuestiones relacionadas