iOS之深入解析插件化架构

一、前言

  • WWDC2014 苹果在 iOS 上开放了动态库,这给了我们一个很大的想象空间。动态库即动态链接库,是 Cocoa/Cocoa Touch 程序中使用的一种资源打包方式,可以将代码文件、头文件、资源文件、说明文档等集中在一起,方便开发者使用。动态库在编译时并不会被拷贝到程序的可执行文件(也就是 mach-o)中,等到程序运行时,动态库才会被真正加载。
  • 动态库运行时才载入的特性,也可以让我们随时对库进行替换,而不需要重新编译代码。这样我们就可以做很多事情,比如应用插件化及动态更新:
    • 应用插件化:目前很多应用功能越做越多,软件显得越来越臃肿,如果软件的功能模块也能像懒加载那样按需加载,在用户想使用某个功能的时候让其从网络下载,然后手动加载动态库,实现功能的插件化,就再也不用担心功能点的无限增多了,这该是件多么美好的事。
    • 应用模块动态更新:当软件中的某个功能点出现了严重的 bug,或者想更新某个功能,这时候只需要在适当的时候从服务器上将新版本的动态库文件下载到本地,然后在用户重启应用的时候即可实现新功能的展现。
  • 那么,如何使用动态 Framework 的方式实现 App 的插件化及动态更新?

① 实现思路

  • 将 App 中的某个模块的内容独立成一个动态 Framework 的形式,在用户想使用某个功能的时候,根据配置列表从服务器上将对应的动态库文件下载到沙盒,然后加载动态库并由 principalClass 进入独立功能模块,实现功能的插件化动态
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╰つ栺尖篴夢ゞ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值