概述
动态库:
1、以.tbd(以前是.dylib)或者.framework为后缀的文件,系统里面的.framework库都是动态库,入UIKit.framework,Foundation.framework等等;
2、链接时不进行复制,由系统动态加载到内存,只加载一次,可以多个程序使用,节省内存,减少app体积,原理上可以用做热更新,只是苹果不允许热更新,所以使用动态库上不了架(iOS8之前时不能使用动态库的,iOS8之后出现了App Extension,以及现在Swift需要,可以使用.framework的动态库,实现在app和Extension两者共用一个库,但是这种动态库严格意义上不能算是动态库,只能算是伪动态库,这种动态库不是放在系统上,而是放在工程的mainbundle里面,每次更新库都要重新把新版的库放在工程里面重新打包);
3、加载过程比静态库复杂,花费时间长。
静态库:
1、以.a或者.framework为后缀的文件;
2、链接时会被复制到可执行文件中,每个程序使用都会复制一次;
3、会比动态库的体积大。
如何设置:
在库工程的Build Setting ->Mach-O Type,选择Static Library就是静态库,选择Dynamic Library就是动态库(伪动态库)
最后
以上就是单身彩虹为你收集整理的iOS开发—— 动态库和静态库的全部内容,希望文章能够帮你解决iOS开发—— 动态库和静态库所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复