ОШИБКА:Частные фреймворки iPhone “Такого файла или каталога нет”
-
18-09-2019 - |
Вопрос
Я добавил частные фреймворки В свой проект.Когда я создаю DEVICE | RELEASE, все работает нормально, и я могу ldid -S приложения, и оно успешно запускается на моем устройстве.
Однако при попытке СБОРКИ И ЗАПУСКА в симуляторе я получаю сообщение об ошибке "Нет такого файла или каталога", как указано ниже:(Я также дважды получаю ошибку, что тоже странно.)
Line Location HomeProfileViewController.h:10: error: BluetoothManager/BluetoothManager.h: No such file or directory
Ниже приведены настройки проекта и сборки, которые у меня есть в данный момент, может быть, кто-то найдет ошибку и даст мне знать, это было бы потрясающе!
НАСТРОЙКИ ПРОЕКТА:
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"
ПАРАМЕТРЫ ЦЕЛЕВОЙ СБОРКИ:
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"
Примечание:Кавычки в путях на самом деле отсутствуют в моем проекте, я вставил их, чтобы сайт улучшил их синтаксис.
Сидия
Решение
На самом деле, для SDK 3.0+ убедитесь, что двоичные файлы и заголовки находятся в папке PrivateFrameworks, как в следующем примере:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/BluetoothManager.framework
Двоичные файлы и заголовочные файлы должны находиться в этом каталоге, заголовки должны быть в каталоге /Headers, например:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/BluetoothManager.framework/Headers/BluetoothManager.h
затем используйте эти инструкции там, где вам понадобятся закрытые заголовки:
#if TARGET_IPHONE_SIMULATOR
//This is where you put code for simulator
#else
//Private functions will go here!
#endif
ТЕПЕРЬ вы можете добавить частный фреймворк из первого каталога, указанного выше, и вы можете создавать и использовать симулятор, и создавать для устройства!Вам не придется добавлять / удалять фреймворки при переключении между устройством / симулятором!