Xcode 8: no se pueden encontrar las routes de encabezado de usuario

Tengo un proyecto que se ejecutaba previamente en XCode 7, en Swift 2.2. Sin embargo, comencé a migrarlo a Xcode 8 y Swift 2.3 (Swift 3 vendrá después). Esta es la primera vez que migro un proyecto, así que soy bastante nuevo en muchos conceptos.

Sigo recibiendo el siguiente error: 'JBBarChartView.h'file no encontrado.

Así es como se ve mi proyecto (desdibujó las partes sin importancia por razones de privacidad)

introduzca la descripción de la imagen aquí

La flecha azul apunta al encabezado de puenteo. Esto es lo que parece mi encabezado de puente: introduzca la descripción de la imagen aquí

y esta es mi estructura de carpetas actual. introduzca la descripción de la imagen aquí

Los files de encabezado importantes, como JBBarChartView.h, se encuentran dentro de la carpeta de proveedores. Por alguna extraña razón, Xcode simplemente no puede encontrar los files y, por lo tanto, no puede importar el Encabezado de connection.

Hasta ahora lo que he intentado es:

  • Para el objective relacionado, he configurado Swift Compiler – General> Objective-C Bridging Header en la location correcta.
  • He configurado las routes de búsqueda del encabezado para el objective en ../../${SRCROOT} y recursivo.
  • También he seleccionado en Siempre search routes de usuario
  • Y mis Rutas de búsqueda del encabezado de usuario también son: ../../${SRCROOT} y recursivas. (manualmente, en mi configuration de compilation)
  • También tengo un file xconfig que se parece a esto: HEADER_SEARCH_PATHS = "../$(SRCROOT)/**" (entre otros, pero todos están separados por un espacio en blanco).
  • También he limpiado la carpeta DerivedData y he reiniciado Xcode varias veces.

No importa lo que intente, por alguna extraña razón Xcode no puede encontrar esos encabezados. ¿Alguien tiene una idea de lo que podría probar?

Esto ../../${SRCROOT} ${SRCROOT}/../Vendor/ ../../${SRCROOT} parece incorrecto – Muy posiblemente desee ${SRCROOT}/../Vendor/ (o algo parecido).

Cuando agregue eso, debería expandir la macro SRCROOT y mostrarle la ruta real que se está generando … ¿Se ve así?

Por ejemplo, cuando uso:

 ${SRCROOT}/../Vendor/ 

Yo obtengo:

 /Users/DonMag/Source/TestProj/../Vendor/ 

Cuál pondría mis files de vendedor que estoy buscando en:

 /Users/DonMag/Source/Vendor/ 

Mis pasos para resolver esto:

Cree un nuevo file FindMe.h en su proyecto. Pon #define FOUNDIT 1 en él. Agregue #include "FindMe.h" a la parte superior de AppDelegate.m .

Agregue a didFinishLaunchingWithOptions:

 #ifdef FOUNDIT NSLog(@"Woo Hoo"); #endif 

Naturalmente, eso debería comstackrse y ejecutarse sin problemas.

A continuación, elimine la reference a FindMe.h de su proyecto y mueva FindMe.h hacia arriba en el nivel de una carpeta. Intente comstackr — y debería get un error "FindMe.h no encontrado".

Agregue ${SRCROOT} como una Header Search Path

Intenta comstackr / ejecutar. Eso debería funcionar. Si es así…

Mueve FindMe.h hacia otro nivel de carpeta y cambia la Header Search Path a ${SRCROOT}/../ . Comstackr / ejecutar — debería funcionar.

Siga este process: mueva .h un nivel (hacia arriba o hacia abajo en una nueva carpeta), edite su Header Search Path , compile / ejecute para confirmar … hasta que haya alcanzado la carpeta de destino de sus files de encabezado "Proveedor".