静态库与动态库介绍

这篇文章主要介绍静态库和动态库的区别、支持的平台架构、架构的拆分与合并,以及APP Store上架时可能遇到的问题。

一、存在形式

静态库:.a.framework

动态库:.dylib .framework

二、使用区别

静态库:链接时,静态库会被完整的复制到可执行文件中,被多次使用就有多分冗余拷贝

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

三、iOS的架构

模拟器:

CPU架构机型
i386iPhone4s-iPnone5
x86_64iPhone5s-iPhone X

真机:

CPU架构机型
armv7iPhone3s-iPhone4s
armv7siPhone5-iPhone5c
arm64iPhone5s-iPhone X

 

四、terminal查看静态库支持的框架

lipo -info 静态库名字

lipo -info framework下的二进制文件名字

五、引用动态库上架条件

1、最低支持iOS8.0

2、需要删除i386、x86_64架构包,如果不删除,构建版本是会报错

六、例子

以环信SDK为例,如何进行架构包拆除及生成

cd 到pods文件夹具体三方的.framework目录下,执行以下指令

1.生成armv7架构包
lipo HyphenateLite -thin armv7 -output HyphenateLite_armv7

2.生成armv64架构包
lipoHyphenateLite -thin armv64 -output HyphenateLite_arm64

3.删除原来的架构包,合并armv7和armv64
lipo -create HyphenateLite_armv7 HyphenateLite_arm64 -output HyphenateLite

4.最后再删除HyphenateLite_armv7和HyphenateLite_arm64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值