2024年5月28日发(作者:莱樱花)
iOS开发-动态库加载(实时模块更新)
iOS开发-动态库加载(实时模块更新)
作者
NiePlus
2016.03.22 15:10*
字数 1429
阅读 2405评论 11喜欢 14动态库和静态库
静态库和动态库是相对编译期和运行期:静态库在程序编译
时会被链接到目标代码中,程序运行时将不再需要改静态库;
而动态库在程序编译时并不会被链接到目标代码中,只是在
程序运行时才被载入,因为在程序运行期间需要动态库的存
在。
静态库的好处
模块化,分工合作,提高了代码的复用及核心技术的保密程
度;避免少量改动经常导致大量的重复编译链接;也可以重
用,注意不是专享使用。
动态库的好处
可以将最终可执行文件体积缩小,将整个应用程序分模块,
团队合作,将进行分工,影响比较小;
多个应用程序共享内存中得同一份库文件,节省资源;可以
不重新编译链接可执行文件程序的前提下,更新动态库文件
达到更新应用程序的目的;应用插件化。
软件版本实时模块升级
共享执行可执行文件,在其他大部分平台上,动态库都可以
用于不同应用间共享,这就大大节省了内存。从目前来看,
iOS仍然不允许进程间共享动态库,己iOS上的动态库只能
是私有的,因为我们仍然不能将动态库文件放置在除了自身
沙盒以为的其他任何地方。不过iOS8上开发了App
Extension功能,可以为一个应用创建插件,这样主app和
插件之间共享动态库还是可以行的。
动态库和主工程的创建
本文章只针对动态库创建,软件版本实时模块升级进行说明,
静态库不做详细解释说明。
动态库创建
创建工程类型为Framework & Library 下的Cocoa Touch
Framework工程,工程命名DynamicLink;创建继承
UIViewController命名为ViewController的控制器,设置背
景颜色;// 动态库视图颜色
oundColor = [UIColor greenColor];
创建继承NSObject命名为DynamicOpenMenth文件,在
2024年5月28日发(作者:莱樱花)
iOS开发-动态库加载(实时模块更新)
iOS开发-动态库加载(实时模块更新)
作者
NiePlus
2016.03.22 15:10*
字数 1429
阅读 2405评论 11喜欢 14动态库和静态库
静态库和动态库是相对编译期和运行期:静态库在程序编译
时会被链接到目标代码中,程序运行时将不再需要改静态库;
而动态库在程序编译时并不会被链接到目标代码中,只是在
程序运行时才被载入,因为在程序运行期间需要动态库的存
在。
静态库的好处
模块化,分工合作,提高了代码的复用及核心技术的保密程
度;避免少量改动经常导致大量的重复编译链接;也可以重
用,注意不是专享使用。
动态库的好处
可以将最终可执行文件体积缩小,将整个应用程序分模块,
团队合作,将进行分工,影响比较小;
多个应用程序共享内存中得同一份库文件,节省资源;可以
不重新编译链接可执行文件程序的前提下,更新动态库文件
达到更新应用程序的目的;应用插件化。
软件版本实时模块升级
共享执行可执行文件,在其他大部分平台上,动态库都可以
用于不同应用间共享,这就大大节省了内存。从目前来看,
iOS仍然不允许进程间共享动态库,己iOS上的动态库只能
是私有的,因为我们仍然不能将动态库文件放置在除了自身
沙盒以为的其他任何地方。不过iOS8上开发了App
Extension功能,可以为一个应用创建插件,这样主app和
插件之间共享动态库还是可以行的。
动态库和主工程的创建
本文章只针对动态库创建,软件版本实时模块升级进行说明,
静态库不做详细解释说明。
动态库创建
创建工程类型为Framework & Library 下的Cocoa Touch
Framework工程,工程命名DynamicLink;创建继承
UIViewController命名为ViewController的控制器,设置背
景颜色;// 动态库视图颜色
oundColor = [UIColor greenColor];
创建继承NSObject命名为DynamicOpenMenth文件,在