Xcode - SenTestingKit не найден
У меня есть проблема, возникшая при обновлении моей версии xcode. Я использую модульные тесты, и теперь, когда я пытаюсь импортировать SenTestingKit (#import <SenTestingKit/SenTestingKit.h>
), я получаю эту ошибку: SenTestingKit/SenTestingKit.h: No such file or directory
.
Я просмотрел мои настройки сборки, и у меня есть следующие параметры конфигурации:
== Linking ==
Other Linker Flags: -framework Foundation -framework SenTestingKit -framework UIKit
Prebinding: No
== Search Paths ==
Debug Configutation: "/iphonesimulator4.0/Developer/Library/Frameworks" "/Xcode4/Library/Frameworks"
Я проверил /Xcode4/Library/Frameworks
, и там находится каталог SenTestingKit.framework/
.
Итак, что мне не хватает?
Ответы
Ответ 1
У меня возникла такая же проблема при создании нового тестового примера в XCode. Однако это было из-за тупости, когда я выбирал неправильную цель при создании тестового примера.
Используя "Файл Новый...", тестовый пример включался и скомпилировался с целевыми параметрами приложения вместо целевого теста. Проверка закладки "Сборка фаз" и поиск в раскрытии "Источники компиляции" показали мою особую проблему.
Ответ 2
У меня возникла проблема после обновления до xcode 4.3. Ничего не работало, пока я не наткнулся на этот пост. У меня уже были одни и те же пути поиска, но изменение порядка решило проблему.
Итак, из статьи вам понадобятся два следующих значения в ваших Path Search Paths, в этом порядке.
$(SDKROOT)/Developer/Library/Frameworks
$(DEVELOPER_LIBRARY_DIR)/Frameworks
Ответ 3
У меня была эта проблема, потому что в моей установке Xcode было место: /Xcode 4.0.2
Я исправил его, добавив "${DEVELOPER_LIBRARY_DIR}/Frameworks"
(с кавычками) в мои пути поиска в Framework.
Ответ 4
Для моих путей поиска Framework я явно добавил /$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk/Developer/Library/Frameworks
. Правильно компилируется для симулятора и устройства.
Я уверен, что существуют переменные окружения, поэтому он работает в версиях SDK, поэтому я буду обновлять ответ, если найду их.
![screenshot]()
Ответ 5
Чтобы очистить его один раз для всех, в Xcode SDK есть три среды SenTestingKit, один для OS X, один для iOS, а один для симулятора.
Если бы вы запустили "lipo -info" на них, вы бы увидели, что
Архитектуры в жирном файле:/Developer/Library/Frameworks/SenTestingKit.framework/Versions/A/SenTestingKit: x86_64 i386
Архитектуры в жирном файле:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit - это архитектура: armv7
Нежирный файл:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit - это архитектура: i386
Ответ 6
Возможно, вы захотите проверить, что Xcode проверяет пути поиска в Framework: ![Framework Search Paths]()