目录
- 一、什么是库?
- 二、静态库和动态库的好处
- 三、iOS里静态库和动态库形式?
- 四、framework为什么既是静态库又是动态库?
- 五、a与.framework有什么区别?
- 六、为什么要使用静态库?
- 七、制作静态库时的几点注意:
一、什么是库?
库是共享程序代码的方式,一般分为静态库和动态库。

静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。
动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。
二、静态库和动态库的好处
使用静态库的好处:
1、模块化,分工合作
2、避免少量改动经常导致大量的重复编译连接
3、也可以重用,注意不是共享使用
动态库使用有如下好处:
1、使用动态库,可以将最终可执行文件体积缩小
2、使用动态库,多个应用程序共享内存中得同一份库文件,节省资源
3、使用动态库,可以不重新编译连接可执行程序的前提下,更新动态库文件达到更新应用程序的目的。
从1可以得出,将整个应用程序分模块,团队合作,进行分工,影响比较小。
从2可以看出,其实动态库应该叫共享库,那么从这个意义上来说,苹果禁止iOS开发中使用动态库就可以理解了:
因为在现在的iPhone,iPodTouch,iPad上面程序都是单进程的,也就是某一时刻只有一个进程在运行,那么你写个共享库,
----共享给谁?(你使用的时候只有你一个应用程序存在,其他的应该被挂起了,即便是可以同时多个进程运行,别人能使用你的共享库里的东西吗?你这个是给你自己的程序定制的。)
----目前苹果的AppStore不支持模块更新,无法更新某个单独文件(除非自己写一个更新机制:有自己的服务端放置最新动态库文件)
至于苹果为啥禁止ios开发使用动态库我就猜到上面俩原因
三、iOS里静态库和动态库形式?
静态库:.a和.framework
动态库:.dylib和.framework
四、framework为什么既是静态库又是动态库?
系统的.framework是动态库,我们自己建立的.framework是静态库。
五、a与.framework有什么区别?
- .a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。
- .a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。
- .a + .h + sourceFile = .framework。
建议用.framework.
六、为什么要使用静态库?
方便共享代码,便于合理使用。
实现iOS程序的模块化。可以把固定的业务模块化成静态库。
和别人分享你的代码库,但不想让别人看到你代码的实现。
开发第三方sdk的需要。
七、制作静态库时的几点注意:
1 注意理解:无论是.a静态库还.framework静态库,我们需要的都是二进制文件+.h+其它资源文件的形式,不同的是,.a本身就是二进制文件,需要我们自己配上.h和其它文件才能使用,而.framework本身已经包含了.h和其它文件,可以直接使用。
2 图片资源的处理:两种静态库,一般都是把图片文件单独的放在一个.bundle文件中,一般.bundle的名字和.a或.framework的名字相同。.bundle文件很好弄,新建一个文件夹,把它改名为.bundle就可以了,右键,显示包内容可以向其中添加图片资源。
3 category是我们实际开发项目中经常用到的,把category打成静态库是没有问题的,但是在用这个静态库的工程中,调用category中的方法时会有找不到该方法的运行时错误(selector not recognized),解决办法是:在使用静态库的工程中配置other linker flags的值为-ObjC。
4 如果一个静态库很复杂,需要暴露的.h比较多的话,就可以在静态库的内部创建一个.h文件(一般这个.h文件的名字和静态库的名字相同),然后把所有需要暴露出来的.h文件都集中放在这个.h文件中,而那些原本需要暴露的.h都不需要再暴露了,只需要把.h暴露出来就可以了。
以上就是ios动态库和静态库的区别的详细内容,更多关于ios动态库和静态库的资料请关注其它相关文章!
相关推荐:
SEO立刻:快速提升网站排名,带你走在搜索引擎前沿,网站建设怎么推广好做
seo站内关键词优化,seo关键词优化经验技巧 ,ai 优点
ChatGPT异常了:人工智能的极限与突破,ai and ethics
什么是seo寄生虫,寄生虫seo原理 ,AI 疫
AI免费免登录:轻松体验人工智能的魔力,无需繁琐注册,华为AI音箱2音质如何
什么是seo网络推广,seo网络推广技术 ,ai写真官方
ChatGPT诞生背景:人工智能如何突破语言的边界,ai辅助市场调研
SEO教你如何快速提升网站排名,打破竞争壁垒!,本溪seo优化排名公司
ChatGPT模型进化历程:人工智能的智慧革命,ai 喷枪星空
seo点击工具,seo排名点击软件推荐 ,ai狂躁
互联网快排:助力企业网站流量爆发的秘密武器,西安网站建设找资源公司
AI人工智能:开发与应用的必备软件推荐
ChatGPT,您的银行卡被拒绝了?别慌,这些方法帮您快速解决问题!,ai给那个标声调
ChatGPT崩溃!用户反馈网页端无法访问,修复急需,ai院子
SEO应该如何提升网站流量与排名?揭秘成功的SEO策略,肺炎疫苗推广营销
AI网页版智能问答,开启智慧沟通新时代,ai梦境档案用不了手柄
SEO软优化:助力网站实现流量爆发的秘密武器,延平区网页seo
高效创作新时代AI文案速写工具,让创作更轻松
GoogleGTP-智能时代的革命性突破,人工智能的新纪元,ai可以降论文ai率吗
SEO每日:提高网站流量的秘密武器,助你脱颖而出,seo优化和排名技巧
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
什么是seo手段,seo的具体手段 ,中国ai 企业
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
为什么关键词太少会影响你的网络营销效果?,陕西seo网站推广工具
如何利用AI生成高质量文章,提升写作效率与创意?
SEO舆情:如何通过有效的舆情管理提升企业品牌形象,seo推广外包提高收录
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,dota1ai地图命令选ai
SEO查:如何用精准的SEO诊断助力网站流量爆发,美团关键词排名怎么补
SEO添加:提升网站流量与排名的必备策略,seo团队成员中国人
SEO基础知识解析:如何提升网站排名,助力企业成长,毕节企业建设网站
ChatGPT崩一次多久修复?揭秘背后的技术与保障,ai1818818
未来的效率利器AI软件下载AI,助您轻松驾驭智能世界
SEO优化知识全解析:提升网站排名的秘密武器,ai出错合集
SEO差价如何用SEO优化帮助企业实现成本与效益的完美平衡,盐城seo收费贵吗
WPS改写-轻松提升文档创作效率的秘密武器,推广网站的优势
AI仿写文章:开启内容创作新纪元
SEO优化关键技巧:提升网站排名的实战攻略,科大讯飞ai论文写作软件
SEO全套秘籍:提升网站流量与排名的终极指南,荣昌手机网站建设
seo管理系统是什么,seo网站管理 ,过度圆ai
SEO赚钱:如何通过SEO技能在网络上实现财富自由,网站怎么建设推广平台
AI缩写文本:助力智能生活的革新力量,ai智能写作生成神器下载
ChatGPTApp怎么调大字体?提升阅读体验,让文字更清晰,推荐ai音频
怎么让AI写文章,轻松实现内容创作的智能化
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
SEO目标:让您的网站轻松登顶搜索引擎,优化购物网站的搜索
SEO埋词技巧,如何提升网站排名?,贵州营销推广方法
人工AI软件的未来:智能时代的创新驱动力
ChatGPT网页版内容显示不全的解决方案:如何轻松解决问题?,课件ai
智能AI写作生成:如何借助人工智能提升创作效率与质量
OpenAI推出的GPT-4Turbo大幅降低了AI应用成本,推动了AI技术的普及化,ai*版