Вот моя конфигурация:Использование Cocoapods в вложенной структуры с Xcode 6 GM
Pod X
: Связанный сMyProjectSharedCode
, объявляет классSomeClass
(в Objective C)MyProjectExtension
: Сегодня данные расширения, совместного использования сMyProject
MyProject
: Companion приложение для настройкиMyProjectExtension
MyProjectSharedCode
: возможность размещения ed для общего кода вMyProject
иMyProjectExtension
. ИспользуетSomeClass
.
Я не могу заставить его работать. Я пробовал:
- Импорт
PodX.h
вMyProjectSharedCode.h
, но это приводит к ошибке компилятора:
include of non-modular header inside framework module
- , которые приводят меня в несколько StackOverflow ссылок, в том числе this one. Однако изменение этой опции не позволило мне скомпилировать ее. Как говорит @NachoSoto в последнем комментарии принятого ответа, ответ, похоже, не работает с Xcode 6 B5.
Любая помощь/выводы была бы очень признательна.
Вы не связываете код с каркасом. Вы ссылаетесь на свои заголовки для компиляции, но пока ничего не связано. Только приложение-хозяин связывает все скомпилированные двоичные файлы. – Rivera
Я попробовал: связал оба приложения с контейнерами, как это сейчас. Добавлена новая цель. Обновлен путь поиска заголовка, чтобы включить папку «Pods». Удалена папка «Common», добавлены файлы только с каркасом в качестве цели. Соорудив. Каждый файл Swift не удалось скомпилировать с ошибкой: ': 0: ошибка: не удалось создать модуль Objective-C« LiFXWidgetSharedCode » –
DCMaxxx
Первый. Я не решил проблему. Последняя попытка состояла в том, чтобы скомпилировать модули с модулем «Определения» в проекте pod (как в doc _ «При импорте внешней фреймворки убедитесь, что для параметра« Определить модуль »для импортируемой структуры установлено значение« Да ».« _). Но. Я точно не знаю, но я думаю, что не все исходные коды модулей перекомпилируются в каждый момент сборки, некоторые контейнеры - это просто статические библиотеки с заголовками. Таким образом, модули не определены, и вы можете увидеть ошибку из вопроса. Smb может попытаться перекомпилировать источники pod с определенным именем модуля и заголовками общих областей (они по умолчанию являются проектами в контейнерах). – Renatus