Я пишу приложение в 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 Head Header (с Objective-C файлами, взятыми из другого подпроекта в рабочей области), так и "основной модуль", используемый для тестирования.
Знаете ли вы, есть ли решение? Что мне не хватает? Благодаря
ПРИМЕЧАНИЕ. В качестве обходного пути я мог импортировать модули в Objective-C Bridge Header, а вместо основного модуля в моих тестах добавить все классы, которые я хочу протестировать в своей "тестовой" цели. Это будет работать, но это не самое чистое решение (я думаю)