Перезапись символов в статических библиотеках iOS

Я работаю над приложением для iOS, которое связывает несколько статических библиотек. Проблема в том, что эти связанные библиотеки определяют одни и те же имена методов в разных реализациях. Как ни странно, я не понимаюduplicate symbol definition ошибки; но, что неудивительно, я получаю доступ только к одной реализации метода.

Чтобы быть более ясным, скажем, у меня есть libA и libB, и они оба определяют глобальный метод C с именем func1 ()

Когда я связываю libA и libB и выполняю вызов func1 (), он разрешает реализацию libA или libB без предупреждения компиляции. Мне, однако, нужно иметь доступ к func1 () libA и func1 () libB по отдельности.

Там похожий пост это объясняет, как это можно сделать в C (с помощью переименования символов), но, к сожалению, как я выяснил,objcopy инструмент не работает для архитектуры ARM (следовательно, iPhone).

(Я отправлю его в App Store, следовательно, динамическое связывание не вариант)

Ответы на вопрос(1)

Ваш ответ на вопрос