iOS - размер фреймворка статической библиотеки очень большой по сравнению с динамическим встраиваемым фреймворком
Я создал статическую библиотеку (фреймворк), используя следующий учебник https://github.com/jverkoey/iOS-Framework.
Размер рамки огромен - около 220 МБ.
Когда я вместо этого создаю динамический встроенный фреймворк, размер составляет всего ~12 МБ.
Важно отметить, что фреймворк распространяется в виде двоичного файла.
Часть кода написана на C++ и objC++.
Флаги компоновщика в обоих проектах идентичны:
OTHER_LDFLAGS = $ (унаследовано) -ObjC -l"C++"
Что вызывает эту огромную разницу в размере? Как уменьшить размер статической библиотеки до размера встроенной динамической библиотеки?
0 ответов
Я чувствую, что этот пост в блоге отвечает на этот вопрос напрямую (и подробно). Короткий ответ: статическая библиотека полностью копируется в двоичный файл. Динамическая структура загружает только тот код, который необходим при загрузке и во время выполнения. В зависимости от, ну, в общем, это может объяснить огромную разницу.