ERROR: iPhone Marcos privados “No existe el fichero o directorio”
-
18-09-2019 - |
Pregunta
He añadido Marcos privado a mi proyecto. Cuando construyo en el dispositivo | LIBERAR todo funciona bien y soy capaz de ldid -S la aplicación y se pone en marcha con éxito en mi dispositivo.
Sin embargo, cuando se trata de construir y GO en simulador, me sale el error "No existe el fichero o directorio" como se indica a continuación: (. También me sale el error dos veces lo que es extraño también)
Line Location HomeProfileViewController.h:10: error: BluetoothManager/BluetoothManager.h: No such file or directory
A continuación se presentan el proyecto y la configuración de creación que tengo actualmente, tal vez alguien puede encontrar un error y que me haga saber, que sería increíble!
configuración del proyecto:
PRIVATE_HEADERS_FOLDER_PATH = "/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include"
PUBLIC_HEADERS_FOLDER_PATH = "/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include"
USER_HEADER_SEARCH_PATHS = "/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include"
OTHER_CFLAGS = "-I/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include-I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include-I/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/gcc/arm-apple-darwin9/4.0.1/include-F/System/Library/Frameworks-F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks-F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks-DMAC_OS_X_VERSION_MAX_ALLOWED=1050"
configuración de destino de construcción:
PRIVATE_HEADERS_FOLDER_PATH = "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks"
FRAMEWORK_SEARCH_PATHS = "$(inherited) $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks"
USER_HEADER_SEARCH_PATHS = "/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include/**"
OTHER_CFLAGS = "-I/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include-I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include-I/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/gcc/arm-apple-darwin9/4.0.1/include-F/System/Library/Frameworks-F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks-F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks-DMAC_OS_X_VERSION_MAX_ALLOWED=1050"
Nota:. Las comillas en los caminos no están realmente en mi proyecto, los pongo en lo que el sitio se les sintaxis mejor
Cydia
Solución
En realidad, para SDK 3.0 o superior, asegúrese de que los binarios y cabeceras están en los PrivateFrameworks carpeta como el siguiente ejemplo: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/BluetoothManager.framework
Los binarios y archivos de cabecera debe estar bajo este directorio, encabezados deben ser menores / encabezados, por ejemplo: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/BluetoothManager.framework/Headers/BluetoothManager.h
a continuación, utilizar estas declaraciones en la que tendrá las cabeceras privadas:
#if TARGET_IPHONE_SIMULATOR
//This is where you put code for simulator
#else
//Private functions will go here!
#endif
Ahora puede agregar el marco privado desde el primer directorio que aparece más arriba, y se puede construir e ir a por el simulador, y construir para el dispositivo! Usted no tendrá que añadir / eliminar los marcos cuando se cambia de dispositivo / simulador!