.framework类型的静态库和.a类型的静态库的优缺点及.framework类型的静态库zip压缩后解压后头文件丢失问题

网友投稿 829 2022-11-07

.framework类型的静态库和.a类型的静态库的优缺点及.framework类型的静态库zip压缩后解压后头文件丢失问题

.framework类型的静态库和.a类型的静态库的优缺点及.framework类型的静态库zip压缩后解压后头文件丢失问题

.framework类型的静态库和.a类型的静态库各有优缺点。.framework类型的静态库使用方便,一包在手万事我有,但是会出现zip压缩后解压头文件丢失。.a类型的静态的有点是zip压缩不失真,可以按照你的需要要提供给用户头文件,不需要删除含安全信息的头文件。缺点是它不包含头文件和bundle资源文件,bundle资源文件要自己另外制作,需要你另外提供给用户。

注意:WinRAR是一个32位的程序,当mac升级到64位最新操作系统后,WinRAR无法使用。

强制打开是这个样子:

而压缩为zip格式前的文件夹是这样的:

真是伤心的悲剧了。分析他们的文件结构

打包的TELock.framework文件把所有头文件都给包含进来了,这是不安全,使用SDK的可能通过引入你头文件调试出你的函数逻辑。所以我只能给用户提供指定的头文件,其它头文件要删除。所以我们只保留ELockSDKSingleObject.h,BLSErrorCodeKeys.h文件和ELSBaseEntity.h头文件,其它文件都要删除。并且发现Headers,Resources,ELock和Versions下的Current等为超链接文件或文件。删除Headers的头文件,Versions下的A文件下的Headers文件夹下的文件也同时减少,Versions下的Current文件下的Headers文件夹下的文件也同时减少。说明三者下的文件实际只有一份物理文件,他们是超链接。

当采用zip压缩时,它是有损压缩,就把这种超链接结构破坏了。

如何解决呢?就是采用无损的.rar格式压缩。而mac电脑默认是zip压缩,只有rar解压缩,没有.rar压缩工具。所以要我们自己安装WinRAR,见​​Mac电脑如何使用WinRAR​​。当然你也可以采用丁丁或qq进行文件夹传送发给windows电脑,在windows电脑上进行rar压缩。

能不能有更彻底的解决办法啊?当然有了。

你打包成.a格式的包,把这个.a格式的包和你想公开的头文件发给用户,用户就能用了。.a格式的包是二进制文件不存在压缩失真问题。

.framework类型的静态库和.a类型的静态库的优缺点

1.a包需要你提供.a包,头文件,资源文件,使用这需要同时导入.a包,头文件和资源文件,就是使用者稍微麻烦些,不存在经过windows电脑采用zip压缩后发给别人解压不会出现问题。

2…framework包需要你手动删除不想让看到的头文件,使用者只需要导入.framework包就能看到头文件,正常使用。当然你忘记删除敏感的头文件就是严重的信息泄漏了。简言之就是发布包的做的事情多些,使用包的人只需要它拖入一个包就可以了。.framework因为存超链接,所以在windows用zip压缩再在其它电脑解压,这种超链接被破坏不能使用。当然你可以压缩无损的.rar包规避这个问题。

.a与.framework的区别:

一、库:

库是共享程序代码的方式,一般分为静态库和动态库

二、静态库与动态库的区别:

静态库:连接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。

动态库:连接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。

三、iOS静态库形式和动态库形式:

静态库:.a和.framework

动态库:.dylib和.framework

四、framework静态库和动态库的区分:

系统的.framework是动态库,我们自己建立的.framework是静态库

五、.a和.framwork的区别:

.a是一个纯二进制文件,.framework中除了有二进制文件外还有资源文件。

.a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。

.a + .h + sourceFile = .framework

你的SDK想生成那种类型的包,自己衡量利弊字节决定。福兮祸所伏,祸兮福所倚!

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

上一篇:curl 模拟form表单
下一篇:Redis 主从复制
相关文章

 发表评论

暂时没有评论,来抢沙发吧~