Ошибки SenTestCase в Xcode 3.2 и XCBuildLogCommandInvocationSection

У меня есть набор SenTestCase, которые вызывают проблемы в XCode 3.2.4. При попытке компиляции (с очень простым STFail(@"");) возникают следующие ошибки компилятора:

Произошла внутренняя ошибка при обработке вывода команды: -
[XCBuildLogCommandInvocationSectionRecorder endMarker]:
нераспознанный селектор отправлен на экземпляр

Произошла внутренняя ошибка при обработке вывода команды: -
[XCBuildLogCommandInvocationSection setTestsPassedString:]:
нераспознанный селектор отправлен на экземпляр

Я включил SenTestkingKit.framework из "/Developer/Library/Frameworks" и просто создал его по цели "Targets > Add > New Target > Cocoa Touch > Unit Test Bundle". Есть идеи? Спасибо!

5 ответов

Решение

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

Один из обходных путей, который я нашел где-то в Google, - это изменение этапа выполнения сценария запуска цели.

+ Изменить

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 

в

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 1> /tmp/RunUnitTests.out 

Он работает вокруг проблемы, а не решает ее, но работает.

У меня была такая же проблема при разработке приложения для iPad. Попробуйте изменить базовый SDK вашей тестовой цели с iPhone Device 3.2 на iPhone Device 4.0.

У меня была такая же проблема, и тема обсуждается в другом вопросе.
Проблема при выполнении логических тестов после обновления XCode 3.2.4

Файл патча выложен на github. Это помогает мне решить это.
http://gist.github.com/586296

У меня была такая же проблема с xcode 3.2.3 и iPad. Этот помогает мне решить:

Project -> Edit Project Settings -> Build -> Base SDK = iPhone Device 4.0
Project -> Edit Project Settings -> Build -> iPhone OS Deployment Target = iPhone OS 3.2

Это, кажется, исправлено (наконец-то!) В 4.2 SDK.

Другие вопросы по тегам