En Xcode, puede crear objetivos que tengan dependencias directas entre sí. Hay una serie de objetivos de creación de productos que pueden ayudar con esto en la categoría Otros al agregar un nuevo objetivo, dependiendo de qué tan simple o complicado sea su configuración. La creación de objetivos específicos para ejecutar pruebas unitarias con una dependencia directa del objetivo principal del proyecto es muy común y está documentada por Apple y en varios blogs.
En su caso, sin embargo, es posible que tenga que hacer muchos ajustes en el nuevo objetivo de prueba de UI, pero una vez que esté configurado, será muy fácil de mantener. Sin saber su situación exacta, es imposible para darle una respuesta paso a paso, pero aquí están las directrices generales (ajustar para adaptarse a su situación):
- Cree la copia de su objetivo original, ya que la mayor parte de su la configuración será la misma.
- Seleccione su nuevo objetivo y abra el inspector (⌘I)
- Bajo dependencias directas, haga clic en el botón + y seleccione su objetivo principal.
- Configure el nuevo destino según lo desee, con documentación/fuente/reglas adicionales o lo que sea.
Si prefiere arrastrar y soltar las cosas, también puede arrastrar a su objetivo original (por debajo de los objetivos triángulo desplegable) en su nuevo destino y que se configure automáticamente la dependencia.
Ahora, seleccione su objetivo de prueba como el objetivo activo y siempre se compilará con esas reglas. Además, si agrega/cambia la fuente en el objetivo principal, se reconstruirá adecuadamente al construir su objetivo de prueba ... no es necesario recordar agregar un archivo fuente al objetivo de prueba también. Sugiero tomarse un tiempo para leer los diversos documentos de Xcode y jugar con muchas de las plantillas de destino disponibles ... a largo plazo, realmente ayuda a que el uso del producto sea mucho más eficiente. Hay muchas cosas ingeniosas que se pueden hacer con bastante facilidad en Xcode si sabes cómo, incluso con proyectos muy grandes o complejos.
¡Muchas gracias por esta respuesta tan útil! – thrusty
Gran respuesta. Originalmente, pensé que también podía eliminar mis bibliotecas vinculadas del nuevo objetivo, pero nada de lo que '' git reset --hard''s no arreglaría. –