Подтвердить что ты не робот

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/.

Итак, что мне не хватает?

4b9b3361

Ответ 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