iOS----创建静态库

静态库

1.什么是库?

库是程序代码的集合,是共享程序代码的一种方式

2.根据源代码的公开情况,库可以分为2种类型

开源库
  • 公开源代码,能看到具体实现
  • 比如SDWebImage、AFNetworking
闭源库
  • 不公开源代码,是经过编译后的二进制文件,看不到具体实现
  • 主要分为:静态库、动态库

3.静态库和动态库的存在形式

①静态库:.a 和 .framework
②动态库:.dylib 和 .framework
静态库和动态库在使用上的区别
  • 静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝(左图所示)
  • 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存(右图所示)
需要注意的是:项目中如果使用了自制的动态库,不能被上传到AppStore

一,使用创建静态库

720299-20150903004352169-818742878.png
720299-20150903004409481-585532543.png

然后写静态库的核心代码,

720299-20150903004422763-1722701370.png

分别选择真机和模拟器,编译就会生成静态库

720299-20150903004436653-1865067517.png

用不同的模拟器生成的静态库有不同的支持手机架构、

  • 普及CPU架构
每一个手机都是属于自己的CPU,不同的CPU采用的是不同的CPU架构(指令集)
 任何一个静态库都有它支持的CPU架构,如果是跑在不支持的CPU架构上面,那么就报错

 模拟器
 iPad2/iPhone4s/iPhone5 : i386
 iPadair/iPhone5s-->iPhone6plus : x86_64

 真机
 iPhone3gs-->iPhone4s : armv7
 iPhone5/iPhone5c : armv7s

 iPhone5s-->iPhone6Plus: arm64

----- 命令行 -- 进入文件目录 ------
 查看静态库支持的架构:lipo -info 静态库
另外也可以这样设置

720299-20150903004448060-556519406.png

生成的真机使用静态库和模拟器静态库,可以合并

  • 合并静态库
  • lipo -create 静态库1 静态库2 -output 新的静态库的名称

转载于:https://www.cnblogs.com/ShaoYinling/p/4779788.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值