2015-01-06 2 views
0

Я только что закончил установку CocoaPods. Моя целевая программа работает и работает.xcode 6 test target Ошибка компоновщика Mach-O

Я добавил строку link_with в свой подфайл, чтобы позволить cocoapods также добавлять рамки к моей целевой цели. Теперь я получаю некоторые ошибки компоновщика при попытке запуска тестов. Я смог разрешить отсутствующую ошибку XCTest, указав инфраструктуру XCTest в other linker flags, как на картинке.

enter image description here

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

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_ServerController", referenced from: 
     objc-class-ref in TestServerController.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Вот мой header search paths: enter image description here

ответ

0

Для меня это выглядит, как вы пытаетесь скомпилировать и запустить тесты на симуляторе без фактического построения для архитектуры процессора симулятора.

Возможно, ваш тестовый проект имеет i386, который указан как действительная архитектура, но имеет ли ваш основной проект его там список?

Проверьте Действительные архитектуры в ваших настройках сборки для цели вашего продукта и убедитесь, что i386 указан как допустимая архитектура, а затем очистку и сборку для тестирования снова.

+0

Я попытался добавить 'i386' как к цели тестирования, так и к целевому объекту продукта, он, похоже, не изменил эту ошибку, но после того, как я снова их вынул, ошибка изменилась на' x86_64' – raphael

+0

. Вы также тестировали эта архитектура? – Hyperbole

+0

Я сделал это, это странно, потому что все было хорошо работать, прежде чем устанавливать cocoapods. Я также не вижу ссылок на любую из этих архитектур в продуктах. – raphael

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