Выполнение юнит-тестов Xcode iPhone с круиз-контролем - PullRequest
4 голосов
/ 03 февраля 2010

При использовании Cruise Control для создания проекта iPhone XCode с модульными тестами генерируется ошибка «Ошибка кодового знака: допустимый профиль обеспечения, соответствующий идентификатору приложения« com.yourcompany.Calculator », не найден». Это не встречается при запуске через XCode? Круиз-контроль пытается запустить приложение, а не просто собрать его? Есть предложения?

Ответы [ 2 ]

2 голосов
/ 08 февраля 2010

Не знаю точно, правильно ли xcodebuild запускает инструмент подписи кода, но мне кажется, что вам нужно изменить процесс сборки, чтобы использовать этот инструмент (codesign).

Я не уверен, задание ли это до или после сборки.

codesign Страница man: http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/codesign.1.html

Согласно этому этому ТАК сообщению , вы можете обойти это, сказав xcodebuild, что предполагается, что целью является симулятор iPhone вместо реального iPhone (с параметром командной строки -target)

0 голосов
/ 09 февраля 2010

Проблема была вызвана добавлением пакета тестовых модулей в проект.Чтобы убедиться, что тесты были построены и запущены вместе с основным проектом, я перетащил цель Unit Tests в основной проект Target.По умолчанию он назначил пакет модульных тестов для сборки на SDK устройства iPhone 3.1.2, а не на симуляторе.Кроме того, в модульном тестовом пакете был автоматически сгенерированный файл .plist, который содержал идентификатор пакета по умолчанию com.yourcompany ... и т. Д.Таким образом, несмотря на указание целевого объекта, который, как я знал, имел SDK по умолчанию для iPhone Simulator 3.1.2, включение пакета модульного тестирования привело к появлению ошибки.Выбрав «Получить информацию» для пакета Unit Test, перейдите на вкладку Build и установите Base SDK на iPhone Simulator 3.1.2, и все будет хорошо.

...