Динамические и статические библиотеки
Прежде всего, библиотека - это совокупность ресурсов и самого кода, скомпилированных для одной или нескольких архитектур.
Статические библиотеки (* .a):
В случае static libraries (*.a)
код, используемый приложением:
копируется в сгенерированный исполняемый файл статическим компоновщиком во время
время компиляции.
Динамические библиотеки (* .dylib):
Dynamic libraries (*.dylib)
отличаются от статических библиотек в
чувствую, что они связаны с исполняемым файлом приложения во время выполнения, но
не скопировано в это. В результате исполняемый файл меньше и,
потому что код загружается только тогда, когда это необходимо, время запуска
обычно быстрее.
Динамические и статические рамки:
Для фреймворков нам сначала нужно понять концепцию bundle (как
рамки - это особый вид связки). Пакет - это файл
каталог с подкаталогами внутри. На iOS пакеты служат для
удобно отправлять связанные файлы в одну упаковку - для
экземпляр, изображения, перья или скомпилированный код. Система обрабатывает его как единое целое
файл, и вы можете получить доступ к ресурсам пакета, не зная его внутреннего
структура.
Библиотека также может иметь дополнительные ресурсы: заголовки, локализация
файлы, изображения, документация и примеры использования . Мы можем связать все
это вместе в одном комплекте - и имя этого является основой.
Статические платформы содержат статическую библиотеку, упакованную с
Ресурсы. Динамические рамки содержат динамическую библиотеку с ее
Ресурсы. В дополнение к этому, динамические рамки могут удобно
включить разные версии одной динамической библиотеки в одну и ту же
рамки!
Другие полезные ссылки:
Hackernoon
Runtastic
Статическая библиотека
Программная структура
Обновление:
Спасибо, что приняли мой ответ!
Скомпилировано для одной или нескольких архитектур?
Каждая архитектура требует другого двоичного файла, и когда вы создаете
Приложение XCode создаст правильную архитектуру для чего угодно
В настоящее время работает с. Например, если вы попросили его запустить в
симулятор, тогда он будет собирать только версию i386 (или x86_64 для
64-битный).
Это означает, что сборки выполняются настолько быстро, насколько это возможно. Когда вы архивируете
приложение или сборка в режиме релиза, тогда Xcode будет собирать для всех трех ARM
архитектуры, что позволяет запускать приложение на большинстве устройств. Какие
а о других сборках?
Естественно, когда вы создаете свой фреймворк, вы хотите, чтобы разработчики
возможность использовать его для всех возможных архитектур, верно? Конечно, у вас
поскольку это означает, что вы можете заслужить уважение и восхищение
сверстники.
Поэтому вам нужно сделать сборку Xcode для всех пяти архитектур.
Этот процесс создает так называемый толстый двоичный файл, который содержит срез
для каждой из архитектур.
arm7: Used in the oldest iOS 7-supporting devices
arm7s: As used in iPhone 5 and 5C
arm64: For the 64-bit ARM processor in iPhone 5S
i386: For the 32-bit simulator
x86_64: Used in 64-bit simulator
Raywenderlich: Multi-Architecture