iOS之深入解析插件化架构

网友投稿 895 2022-05-30

一、前言

WWDC2014 苹果在 iOS 上开放了动态库,这给了我们一个很大的想象空间。动态库即动态链接库,是 Cocoa/Cocoa Touch 程序中使用的一种资源打包方式,可以将代码文件、头文件、资源文件、说明文档等集中在一起,方便开发者使用。动态库在编译时并不会被拷贝到程序的可执行文件(也就是 mach-o)中,等到程序运行时,动态库才会被真正加载。

动态库运行时才载入的特性,也可以让我们随时对库进行替换,而不需要重新编译代码。这样我们就可以做很多事情,比如应用插件化及动态更新:

应用插件化:目前很多应用功能越做越多,软件显得越来越臃肿,如果软件的功能模块也能像懒加载那样按需加载,在用户想使用某个功能的时候让其从网络下载,然后手动加载动态库,实现功能的插件化,就再也不用担心功能点的无限增多了,这该是件多么美好的事。

应用模块动态更新:当软件中的某个功能点出现了严重的 bug,或者想更新某个功能,这时候只需要在适当的时候从服务器上将新版本的动态库文件下载到本地,然后在用户重启应用的时候即可实现新功能的展现。

iOS之深入解析插件化架构

那么,如何使用动态 Framework 的方式实现 App 的插件化及动态更新?

① 实现思路

将 App 中的某个模块的内容独立成一个动态 Framework 的形式,在用户想使用某个功能的时候,根据配置列表从服务器上将对应的动态库文件下载到沙盒,然后加载动态库并由 principalClass 进入独立功能模块,实现功能的插件化动态

iOS

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Hadoop-2.2.0学习之一Hadoop-2.2.0变化简介
下一篇:【愚公系列】2022年04月 Python教学课程 62-DRF框架介绍
相关文章