Xcode - SenTestingKit не найден - PullRequest
41 голосов
/ 28 июля 2010

У меня возникла проблема, которая возникла при обновлении версии 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/ там .

Так чего мне не хватает?

Ответы [ 6 ]

57 голосов
/ 05 марта 2011

У меня была такая же проблема при создании нового теста в XCode.Однако это было связано с глупостью выбора неверной цели при создании контрольного примера.

Используя «Файл новый ...», тестовый пример включался и компилировался с настройками целевого приложения вместо цели тестового примера.Проверка вкладки «Этапы сборки» и поиск в раскрытии «Источники компиляции» выявили мою конкретную проблему.

18 голосов
/ 23 февраля 2012

У меня возникла эта проблема после обновления до xcode 4.3.Ничто не работало, пока я не наткнулся на этот пост .У меня уже были те же пути поиска, но изменение порядка решило проблему.

Итак, из этой статьи вам понадобятся два следующих значения в ваших путях поиска в среде, в этом порядке .

$(SDKROOT)/Developer/Library/Frameworks
$(DEVELOPER_LIBRARY_DIR)/Frameworks
6 голосов
/ 08 июля 2011

У меня была эта проблема, потому что в моей установке Xcode есть пробел: /Xcode 4.0.2

Я исправил это, добавив "${DEVELOPER_LIBRARY_DIR}/Frameworks" (с кавычками) к моим путям поиска в фреймворке.

1 голос
/ 06 июня 2012

Чтобы разобраться с этим раз и навсегда, в Xcode SDK есть три фреймворка SenTestingKit, одна для OS X, одна для iOS и одна для симулятора.

Если бы вы запустили "lipo -info«на них вы бы видели, что

Архитектуры в толстом файле: /Developer/Library/Frameworks/SenTestingKit.framework/Versions/A/SenTestingKit: x86_64 i386

Архитектуры в толстомfile: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit - это архитектура: armv7

Файл без жира: / Developer /Платформы / iPhoneSimulator.platform / Разработчик / SDKs / iPhoneSimulator5.1.sdk / Разработчик / Библиотека / Каркасы / SenTestingKit.framework / SenTestingKit - это архитектура: i386

1 голос
/ 05 января 2011

Для моих путей поиска в фреймворке я явно добавил /$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk/Developer/Library/Frameworks.Правильно компилируется для симулятора и устройства.

Я уверен, что есть переменные окружения, чтобы они работали между версиями SDK, поэтому я обновлю ответ, если найду их.

screenshot

0 голосов
/ 03 января 2011

Возможно, вы захотите проверить, что XCode проверяет пути поиска платформы: Framework Search Paths

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...