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), а обособляли фреймворки. Что я имею в виду, в
"Проект" -> "Общие" -> "Связанные фреймворки и библиотеки" -> я могу выбрать "Требуется / Необязательно".... Это поможет или?
Заранее спасибо.