ОШИБКА:Частные фреймворки iPhone “Такого файла или каталога нет”

StackOverflow https://stackoverflow.com/questions/1694745

Вопрос

Я добавил частные фреймворки В свой проект.Когда я создаю 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

ТЕПЕРЬ вы можете добавить частный фреймворк из первого каталога, указанного выше, и вы можете создавать и использовать симулятор, и создавать для устройства!Вам не придется добавлять / удалять фреймворки при переключении между устройством / симулятором!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top