У меня есть библиотека A
, которая зависит от библиотеки B
.
Оба распространяются в виде статических структур, но библиотека B
также доступна как в Open Source.
Оба, A
и B
скомпилированы только для поддержки архитектуры arm64, в то время как мне все еще нужно поддерживать 32-битные устройства (armv7). В 32-разрядных устройствах функции, использующие структуру A
, просто отключены.
Однако я все еще использую функции, предоставляемые инфраструктурой A
в 32-разрядных сборках.
Когда я устанавливаю библиотеку B
как CocoaPod, я получаю сообщение об ошибке, в котором говорится, что обе платформы содержат одинаковые символы, и какая из них будет использоваться, не определено.
Одним из решений является разветвление и переименование фреймворка B
и интеграция их обоих (один как предварительно скомпилированный фреймворк, а другой как CocoaPod).
Однако я бы предпочел более чистое решение - то есть связать версию фреймворка CocoaPod только с 32-битными (armv7) целями и связать версию фреймворка arm64 с 64-битными целями.
Есть ли способ, которым я могу это сделать?