Я работаю над модульным проектом, который состоит из модулей, являющихся статическими библиотеками. Каждая статическая библиотека имеет тестовый пакет xctest. Проект также имеет статические сторонние зависимости (например, Swinject).
Mach-O Type в настройках сборки тестовых мишеней — «Bundle». Сторонние фреймворки добавляются в «Связанные фреймворки и библиотеки» на основной цели, а также в тестовый пакет в нашей статической библиотеке, пути поиска фреймворка также заданы правильно на обоих.
Однако, хотя сборка на основной цели прошла успешно, когда я пытаюсь запустить тесты, это приводит к следующей ошибке компилятора:
Неопределенные символы для архитектуры x86_64: "__T08Swinject9ContainerCMa", ссылка из: __T08Swinject9ContainerCSgMa в MyClassTests.o ld: не найдены символы для архитектуры x86_64 clang: ошибка: команда компоновщика завершилась неудачно с кодом выхода 1 (используйте -v, чтобы увидеть вызов )
Итак, в моем понимании, сторонняя структура связана с тестовой целью так же, как она связана с основной целью, но сборка тестового пакета не работает. Я что-то пропустил?