Я хочу смочь протестировать код библиотеки в цели библиотеки, таким образом, я не должен переключаться на отдельный проект выполнить его.
Я вижу, как добавить цель, но я не уверен, как настроить ее для выполнения как "шаблон проекта" Инструмента Командной строки, делает. Я пытался добавить новую "цель" Инструмента Shell, но я не знаю, как заставить ее работать как одна. Какие настройки сборки я должен добавить к той цели? Какие файлы (main.m?) я должен запустить его?
РЕДАКТИРОВАНИЕ (Добавленный мои комментарии снизу для обнадеживающего создания вопроса более соответствующим.)
Моя библиотека имеет две цели, один для iOS и один для MacOS. Я только включаю его в проект iOS до сих пор, таким образом, это - то, я хочу работу с в настоящее время. Я пытался добавить Сенсорную цель Пакета Модульного теста Какао, но мои сбои сборки и я получаем команду/bin/sh/отказавший с кодом выхода 1 и Проваленными тестами на архитектуру 'i386' (GC ПРОЧЬ). Я не думаю, что хочу работать на i386 (по крайней мере, не для теста моей цели iOS), и я не могу найти ничего, что говорит что i386 в целевых настройках.
Я вижу, что моя активная архитектура для проекта является i386 (в меню Project> Set Active Architecture), но это не позволяет мне изменить его там. Моя цель TestApp имеет Стандарт (armv6) как набор архитектуры, и я пытался искать настройки, и ничто не имеет i386 в нем. Как я изменяю это?
В SDK для Mac OS X есть шаблон для цели bundle для unit-test.
Обратите внимание, что "пакет" - это продукт сборки цели тестирования: Цель создает пакет для юнит-тестирования. Она не требует, чтобы ваш реальный продукт (библиотека, приложение и т.д.) был пакетом; на самом деле, не имеет значения, что представляет собой ваш реальный продукт.
Тем не менее, вы можете сделать это немного по-другому, если у вас статическая библиотека:
Обычно вы просто добавляете файлы исходного кода для тестируемого кода как в цель библиотеки, так и в цель тестового пакета, но, делая это таким образом, вы также проверяете свою способность связать тестовый пакет с библиотекой. Если библиотека имеет какие-либо проблемы, препятствующие компоновке с ней, это может их обнаружить.
Можно ли изменить активный исполняемый файл? (он находится в меню Project в Xcode: Set Active Executable)
Содержит ли ваша цель Shell Tool функцию int main (int argc, char * argv [])
в одном из своих встроенных файлов?