Привет всем, я новичок в Xcode / Cocoa / Objective C и имею досадную проблему, которую я не могу отследить.У меня есть программа с несколькими классами и набором модульных тестов, встроенных с помощью Xcode, включающего опцию «включить модульные тесты», когда я создавал проект.По большей части все работает нормально, но когда я запускаю свои тесты, я вижу следующую ошибку:
objc [12505]: класс [class foo] реализован в обоих / Users / [me]/ Библиотека / Поддержка приложений / iPhone Simulator / 4.3 / Приложения / 1F5222ED-0A3C-41BC-AFA3-CB8FC744EFCE / [имя приложения] .app / [имя приложения] и / Users / [me] / Библиотека / Разработчик / Xcode / DerivedData /[имя приложения] -eumytpkyfitihadpqeyxjpwapxoa / Build / Products / Debug-iphonesimulator / [имя приложения] Tests.octest / [имя приложения] Тесты.Один из двух будет использован.Какой из них не определен.
Просмотр журналов сборки цели теста показывает, что XCode компилирует [class foo] для цели теста, но ни один из других классов, используемых программой тестирования(извиняюсь, если моя терминология неверна).
Верх моего файла [имя приложения] Tests.m выглядит следующим образом:
#import "[app name]Tests.h
#import "[class x].h"
#import "[class y].h"
#import "[class z].h"
#import "[class a].h"
#import "[class foo].h"
[имя приложения] Tests.m использует всевышеупомянутые классы с [class foo] не имеют никакого реального значения, о котором я могу думать, кроме, может быть, того, что он был создан первым.Я попытался переместить объявление #import "[class foo].h"
без изменений.Я попытался переименовать [class foo], очистить продукт и перестроить без изменений.
Глядя на файлы в Finder, все классы программы находятся в корневом каталоге для [имя приложения] и толькодва файла теста находятся в корневом каталоге для тестов [app name], что, как я полагаю, так и должно быть.
Часто выполнение тестов действительно работает, даже с этой ошибкой, но иногда это не так илиточки останова будут работать непредсказуемо в [class foo], что действительно раздражает.Любые мысли или предложения будут оценены.
Спасибо.