У меня есть пара проектов с юнит-тестами, в которых я хочу измерить охват. Поэтому я следую инструкциям, подробно изложенным в Инструкции для CoverStory и в других местах в Интернете.
Я добавляю -fprofile-arcs
и -ftest-coverage
к моей тестовой цели и тестируемой цели и ссылаюсь на /Developer/usr/lib/libprofile_rt.dylib
, как указано.
И это работает! Когда я запускаю схему тестов под симулятором iPhone, я получаю покрытие кода, тесты, а также сборку и запуск приложения.
Но затем, когда я возвращаюсь к схеме «Запустить» на реальном оборудовании iPhone, я получаю ошибку ссылки на libprofile_rt.dylib. В частности, я получаю
ld: библиотека не найдена для -lprofile_rt
Что я подозреваю, так это то, что libprofile_rt на самом деле является библиотекой для оборудования Mac, и iPhone, в общем, не может связываться с двоичным файлом, созданным для Mac.
У меня вопрос Как запустить на аппаратном обеспечении iPhone и получить покрытие моего кода?
Я подозреваю, что могу сделать это с копией моей цели Debug, которая когда-либо использовалась только для тестирования, но у которой есть дополнительная проблема поддержания еще одной цели. Есть ли другой способ заставить это работать? Я что-то делаю глупо?