2014-02-21 2 views
1

Я пытаюсь запустить тесты модуля Xcode через командную строку, чтобы в конечном итоге подключить его к Jenkins для CI. Рабочее пространство содержит 2 проекта:Ошибка при тестировании блока Xcode из командной строки

CommonProject (разделяемые библиотеки, используемые для нескольких приложений)

MainProject

MainProject использует библиотеки в CommonProject, так что есть зависимостях. Каждый проект имеет свой отдельный файл xcodeproj.

Поэтому мне нужно запустить мои юнит-тесты, связанные с MainProject. Я использую эту команду для запуска модульных тестов с терминала в главном каталоге проекта:

xcodebuild test -scheme MainProject -configuration Debug -sdk iphonesimulator7.0 -destination OS=7.0,name="iPad" 

Я получаю следующие ошибки.

ld: warning: directory not found for option '-L/development/MainProject/../../../../Library/Developer/Xcode/DerivedData/MainProject-frbbgalqmolpaxcdmzssejnssluu/Build/Products/Debug-iphoneos' 
ld: warning: directory not found for option '-F/development/MainProject/../../../../Library/Developer/Xcode/DerivedData/DTCoreText-fgbvjplplkeyyghcvrfbmvoetoiq/Build/Products/Debug-iphoneos' 

ld: library not found for -lCommonProject 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

** TEST FAILED ** 

The following build commands failed: 
Ld /Library/Developer/Xcode/DerivedData/MainProject-bxpugeyjdgrcfcgxxpttwlgmfrma/Build/Products/Debug-iphonesimulator/MainProject.app/MainProject normal i386 

Поскольку модульные тесты требуют общего проекта для запуска, она не может быть в состоянии найти файлы, необходимые, так как они расположены в отдельном каталоге. Кто-нибудь имел эту проблему раньше или есть идеи, как я могу ее решить?

ответ

1

Я работал с этой проблемой раньше, и решение заключалось в том, чтобы сгенерированные файлы библиотеки находились в том же месте, что и файл project.app. Учитывая это, вы должны указать CONFIGURATION_BUILD_DIR на общее местоположение. Вы можете использовать приведенный ниже аргумент, чтобы выполнить это.

xcodebuild test -scheme myScheme -configuration Debug -sdk iphonesimulator7.0CONFIGURATION_BUILD_DIR=$(PWD)/build

+0

Это сработало! Единственное, что мне нужно было сделать, - установить расположение сборки в общую папку с помощью «Настройки» -> «Местоположения», «Дополнительно». Я использовал это местоположение для configuration_build_dir. Благодарю. – tomg101

Смежные вопросы