Тестирование проблем и использование Cocoapods в проекте Swift
Я пишу приложение на Swift, используя XCode 6 Beta-6. Я использую Cocoapods и создаю несколько юнит-тестов.
Проблема заключается в следующем: по-видимому, невозможно иметь проект, который содержит:
1) Проект написан на Swift
2) Некоторые стручки, установленные с помощью cocoapods
3) Заголовочный файл моста Objective C, который импортирует некоторые модули
4) Юнит тесты
Это звучит странно, но следуйте моим шагам: после запускаpod install
создайте заголовок моста Objective-C и импортируйте один модуль: все работает. Теперь напишите несколько тестов: чтобы протестировать свои собственные классы, вы должны импортировать модуль, называемый «как ваш проект» (или, лучше, «как основная цель»): в моем проекте «MyAwesomeApp» я должен написатьimport MyAwesomeApp
в моих тестовых файлах.
К сожалению, на этом этапе XCode не скомпилируется: в моемimport MyAwesomeApp
строка с ошибкой «Не удалось импортировать соединительный заголовок» /path/to/MyAwesomeApp/MyAwesomeApp/MyAwesomeApp-Bridging-Header.h ";
и в файле Bridging-Header появляется ошибка «xxx.h file not found», исключая возможность импорта модуля.
Кроме того, если я не импортирую модули в файле моста Obj-c, проект будет хорошо скомпилирован.
Похоже, что существует конфликт импорта как заголовка моста Objective C (файлы Objective C взяты из другого подпроекта в рабочей области), так и «основного модуля», используемого для тестирования.
Знаете ли вы, есть ли решение? Что мне не хватает? Спасибо
ПРИМЕЧАНИЕ. В качестве обходного пути я мог бы импортировать модули в заголовок моста Objective C и вместо того, чтобы включать основной модуль в мои тесты, добавить все классы, которые я хочу протестировать, в свою «тестовую» цель. Это будет работать, но это не самое чистое решение (я думаю)