ОШИБКА: iPhone Private Frameworks "Нет такого файла или каталога"

Я добавил Private Frameworks в свой проект. Когда я строю в DEVICE | РЕЛИЗ все работает нормально, и я могу 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"

Примечание. Кавычки в путях на самом деле не находятся в моем проекте, я их вставил, чтобы сайт лучше их синтаксисировал.

Cydia

1 ответ

Решение

На самом деле для SDK 3.0+ убедитесь, что двоичные файлы и заголовки находятся в папке PrivateFrameworks, как показано в следующем примере:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/BluetoothManager. фреймворк

Двоичные файлы и файлы заголовков должны находиться в этом каталоге, заголовки должны находиться в /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

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

Другие вопросы по тегам