2016-06-21 3 views
5

Я видел много ссылок Link для выяснения связи между рамками BITCODE_ENABLE и .dylib, но я не могу получить положительный результат. Пожалуйста, помогите мне, что такое точная связь между обоими, а также упомянуть использование BITCODE_ENABLE Ясно.Что такое точное соединение между BITCODE_ENABLE и dylib framework?

ответ

4

Я думаю, вы сбиваете с толку, что такое биткод. Биткод может использоваться как с статическими фреймворками, так и с динамическими библиотеками.

От Apple docs:

битового кода является промежуточным представлением скомпилированной программы. Приложения, загружаемые в iTunes Connect, содержащие бит-код, будут скомпилированы и связаны в App Store. Включение битового кода позволит Apple повторно оптимизировать бинарное приложение в будущем без необходимости отправки новой версии вашего приложения в магазин.

Большинство библиотек и фреймворков являются «жирными», то есть они содержат дополнительные двоичные файлы для поддержки всех архитектур. Это означает, что инфраструктура iOS может поддерживать armv7, armv7s и i386 (все архитектуры устройств и симулятор).

Построение библиотеки с использованием битового кода позволяет поддерживать Thinning приложения. Это означает, что из магазина приложений загружаются только исполняемые файлы, соответствующие архитектуре приложения. Кроме того, как упоминает Crazyrems в комментариях, это оптимизирует установку и загрузку приложения, поскольку устройство будет загружать только те ресурсы, которые необходимы для запуска приложения на этой конкретной архитектуре/устройстве.

Я не буду вдаваться в подробности о LLVM IR, но я рекомендую прочитать эти статьи для справки:

+1

Установки будут тоже оптимизирован. Только часть приложения, созданного для конкретной архитектуры телефона, будет загружена при установке, что означает меньшие размеры приложения. – Crazyrems

+0

@Crazyrems благодарит, добавил это как обновление моего ответа. – JAL

+0

Удовлетворены из ответа. Спасибо @JAL – iMHitesh

Смежные вопросы