Static libraries (*.a)
являются коллекциями объектных файлов. В свою очередь, объектный файл - это просто имя файла, который выходит из компилятора и содержит машинный код.
Dynamic libraries (*.dylib)
, в отличие от static
, вместо того, чтобы копироваться в один монолитный исполняемый файл, загружаются в память, когда они действительно необходимы. Это может произойти либо во время загрузки, либо во время выполнения.
Dynamic libraries
обычно совместно используются приложениями, поэтому система должна хранить только одну копию библиотеки и разрешать доступ к ней различным процессам. В результате вызов кода и данных из динамических библиотек происходит медленнее, чем из статических.
Все системные библиотеки iOS и macOS dynamic
. Следовательно, наши приложения выиграют от будущих улучшений, которые Apple внесет в стандартные библиотечные фреймворки без создания и доставки новых сборок. Apple оставляет за собой возможность создавать system frameworks
для себя; в настоящее время сторонние разработчики не могут создавать system frameworks
на iOS.
Если ваш Deployment target
- iOS8 +, вы можете создать embedded framework
, то есть embedded framework
и dynamic framework
. Embedded frameworks
находятся в изолированной программной среде приложения и доступны только для этого приложения. Этот тип был создан в первую очередь для расширений для совместного использования общего кода и ресурсов.
Источник и еще один . Читайте также здесь