Xcode 6, iOS 8, Cocoa Touch Framework Двунаправленные рамки / ошибка циклической зависимости

Мой первый раз, чтобы опубликовать здесь. Не могу найти ответ на мой вопрос. Пожалуйста, кто-нибудь:

Ранее я использовал iOS-Universal-Framework / поддельный фреймворк для создания двух больших фреймворков, которые зависят друг от друга. Так что просто поясни:

Каркас 1 (F1) имеет класс A, B, C, ...
Каркас 2 (F2) имеет класс D, E, F, ...

Итак, что я обычно делал, чтобы:
1) скомпилируйте F1 с глобальным макросом 'ENABLE_F2_METHODS_AND_TYPES' = 0
2) затем переместился в F2 и аналогичным образом скомпилировал F2 с макросом 'ENABLE_F1_METHODS_AND_TYPES' = 0
Теперь оба фреймворка существуют с классом, типами и т. Д.
3) скомпилируйте F1 с макросом = 1
4) скомпилировать F2 с макросом = 1

Это все.

Теперь iOS-Universal-Framework устарела, и я решил перенести эти платформы в платформы Cocoa Touch. Итак, на данный момент у меня есть две сенсорные платформы, но если я попытаюсь сделать похожий подход, я успешно скомпилирую два первых шага, но не третий.

Я пытаюсь сделать несколько разных попыток, но безуспешно.

Я получаю ошибку:

Не удалось найти объявление интерфейса для суперкласса 'B' из 'D';

Итак, я попытался добавить #import "<F1/B.h>", но тогда получите ошибку

Циклическая зависимость в модуле 'F2': F2 -> F1 -> F2

Как это решить? Есть другие идеи?


Если получилось, как избежать того, чтобы фреймворки не собирались интегрироваться друг в друга (фреймворк Umbrella), а обособляли фреймворки. Что я имею в виду, в

"Проект" -> "Общие" -> "Связанные фреймворки и библиотеки" -> я могу выбрать "Требуется / Необязательно".... Это поможет или?

Заранее спасибо.

0 ответов

Другие вопросы по тегам