Можно ли включить бит-код для моей библиотеки xcframework с помощью цепочки инструментов Swift 5.1

Включение этих флагов

ENABLE_BITCODE=YES
BITCODE_GENERATION_MODE=bitcode
OTHER_C_FLAGS=-fembed-bitcode

Успешно создается .xarchive, который затем упаковывается с помощью xcodebuild в xcframework.

Но когда он включен в тестовое приложение с включенным биткодом, он будет жаловаться на

... не содержит биткод. Вы должны перестроить его с включенным биткодом (параметр Xcode ENABLE_BITCODE), получить обновленную библиотеку от поставщика или отключить биткод для этой цели.

Когда он построен с использованием последней версии Swift (Swift5.3), биткод действительно включен и работает нормально.

Почему 5.1 не работает, и есть ли какая-либо документация, указывающая, какая версия, в которой включенный биткод, действительно правильно связан с .archive?


person WilliamC    schedule 01.10.2020    source источник


Ответы (1)


У меня была аналогичная проблема. Я понял, что если вы используете Swift Toolchain, это может привести к сбою многих вещей, потому что у него почему-то нет некоторых конкретных вещей из Xcode.

Поэтому мой совет — использовать более старые версии Xcode. Я использую этот подход, потому что мне нужно опубликовать свою структуру для клиентов, использующих Swift 5.1.

Но если вы знаете лучшее объяснение того, как мы можем это исправить, я буду рад это услышать)

person Roma    schedule 25.05.2021
comment
Этот пост дает хорошее представление о том, почему биткод не применяется при использовании автономных цепочек инструментов. stackoverflow.com/questions/49681242/ - person WilliamC; 04.06.2021