Версии iOS arm64 и armv7 одного фреймворка в одной цели - PullRequest
0 голосов
/ 19 марта 2019

У меня есть библиотека A, которая зависит от библиотеки B.

Оба распространяются в виде статических структур, но библиотека B также доступна как в Open Source.

Оба, A и B скомпилированы только для поддержки архитектуры arm64, в то время как мне все еще нужно поддерживать 32-битные устройства (armv7). В 32-разрядных устройствах функции, использующие структуру A, просто отключены.

Однако я все еще использую функции, предоставляемые инфраструктурой A в 32-разрядных сборках.

Когда я устанавливаю библиотеку B как CocoaPod, я получаю сообщение об ошибке, в котором говорится, что обе платформы содержат одинаковые символы, и какая из них будет использоваться, не определено.

Одним из решений является разветвление и переименование фреймворка B и интеграция их обоих (один как предварительно скомпилированный фреймворк, а другой как CocoaPod).

Однако я бы предпочел более чистое решение - то есть связать версию фреймворка CocoaPod только с 32-битными (armv7) целями и связать версию фреймворка arm64 с 64-битными целями.

Есть ли способ, которым я могу это сделать?

...