iOS - размер фреймворка статической библиотеки очень большой по сравнению с динамическим встраиваемым фреймворком

Я создал статическую библиотеку (фреймворк), используя следующий учебник https://github.com/jverkoey/iOS-Framework.

Размер рамки огромен - около 220 МБ.

Когда я вместо этого создаю динамический встроенный фреймворк, размер составляет всего ~12 МБ.

Важно отметить, что фреймворк распространяется в виде двоичного файла.

Часть кода написана на C++ и objC++.

Флаги компоновщика в обоих проектах идентичны:

OTHER_LDFLAGS = $ (унаследовано) -ObjC -l"C++"

Что вызывает эту огромную разницу в размере? Как уменьшить размер статической библиотеки до размера встроенной динамической библиотеки?

0 ответов

Я чувствую, что этот пост в блоге отвечает на этот вопрос напрямую (и подробно). Короткий ответ: статическая библиотека полностью копируется в двоичный файл. Динамическая структура загружает только тот код, который необходим при загрузке и во время выполнения. В зависимости от, ну, в общем, это может объяснить огромную разницу.

Другие вопросы по тегам