iOS动态库

1 从 iOS 8 开始,由于 Extendsion 的出现,苹果开始允许自建动态库并在 iOS APP 中引用,这样宿主 APP 和插件之间共享动态库;
2 从目前来看,iOS 仍然不允许进程间共享动态库,即 iOS 上的动态库只能是私有的,因为我们仍然不能将动态库文件放置在除了自身沙盒以外的其它任何地方;
3 另外,苹果沙盒会验证动态库的签名,所以如果是动态从服务器更新的动态库,是签名不了的,因此应用插件化、软件版本实时模块升级等功能在 iOS 上无法实现;
4 由于动态库在应用编译打包的时候,仅把链接信息编译到应用二进制可执行文件中,将 framework 的加载推迟到运行时,因此,应用在提交评审时的代码段大小计算,是不会将动态库的代码段计算计算在内,从而能够节省出一大截代码段大小空间,但是动态库是类似资源的形式以一个单独 framework 文件存在安装包中,导致安装包大小压缩有限。


原文:不给“爸爸”添麻烦 - iTOP iOS 动态库改造
链接:https://cloud.tencent.com/developer/article/1071843
来源:腾讯Bugly
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(iOS动态库)