Я пытаюсь построить iOS-библиотеку/фреймворк, который, ради простоты, мы скажем, предоставляет класс A
проектам, использующим его. Теперь проблема в том, что класс A
зависит от класса B
, который не предназначен для отображения (или даже включенного в качестве символа) в вывод сборки для библиотеки. Это вызывает проблемы, потому что в нем есть другая библиотека с классом C
, которая также полагается на класс B
.iOS Library/Framework, как исключить определенные классы из продукта сборки?
Что происходит, если я попытаюсь включить обе библиотеки в проект, компоновщик жалуется на наличие нескольких определений класса B
.
Каков наилучший способ обойти эту проблему? Можно ли установить класс B
при слабой связи при создании двух библиотек (или, по крайней мере, одной из двух библиотек), и если да, то как?
Или должен ли класс B
быть извлечен в его собственную библиотеку/структуру, а две библиотеки изменены для ссылки, вместо того чтобы включать класс B
в качестве исходного файла?
Да, проблема, обсуждаемая на странице, - это именно та проблема, с которой я столкнулся. У меня есть сторонняя библиотека, которая внутренне использует 'SBJson' (путем интеграции источников SBJson в проект/код библиотеки) и встроенную библиотеку, которая делает то же самое. Попытка связать их с обоими из них в третьем проекте вызывает конфликты между двумя экземплярами «SBJson». – aroth
У вас есть источник сторонней библиотеки? – borrrden
В этом случае да, хотя, конечно, это не всегда так, учитывая популярность 'SBJson'. Поэтому, если бы возникло общее решение этой проблемы, которое не требовало модификации самих проектов библиотеки, мне определенно было бы интересно узнать об этом. – aroth