IOS静态库的制作和合并

1.首先,新建工程, 选择“Cocoa Touch Static Library”。
 图片
2.
输入静态库名称
图片 
 
3.删除系统自带的.h和.m文件
图片 
4.将自己需要的.h和.m拉入项目中(出于方便考虑,直接在系统自带的.h和.m文件上写个简单的实现方法)
   注意 :资源文件是不能打包到.a文件中的。
 





 5.
选择需要暴露出来的.h文件
将需要暴露的.h文件拖入public中
图片 
删除没有用的testTests,否则编译时会报错
 
6.在真机模式和模拟器模式下分别编译此工程,
模拟器和真机环境下用的.a文件是分开的。  编译完成后,.a文件会变成黑色的。点击右键,show in Finder 即可找到对应的.a文件


7.show in Finder后,我们可以发现有2个.a文件,它们一个是模拟器的,一个是真机的。为了方便使用,我们应该把它们合并成一个.a文件。


8.打开终端,依次输入 

lipo -create /Users/mac/Library/Developer/Xcode/DerivedData/test-dpfzldvqtvlssshdksmsjcdnnmxe/Build/Products/Debug-iphoneos/libtest.a/Users/mac/Library/Developer/Xcode/DerivedData/test-dpfzldvqtvlssshdksmsjcdnnmxe/Build/Products/Debug-iphonesimulator/libtest.a -output /Users/mac/Desktop/77/testall.a

红色:固定的指令
灰色:真机.a文件的地址
蓝色:模拟器.a文件的地址
绿色:合并后的.a文件存放地址

合并完成后,可输入
lipo -info /Users/mac/Desktop/77/testall.a 来判断.a文件支持的格式


i386:模拟器

arm64:支持64位处理

ARMv8/ARM64: iPhone 6(Plus), iPhone 5s, iPad Air(2), Retina iPad Mini(2,3)

ARMv7s: iPhone 5, iPhone 5c, iPad 4 

ARMv7: iPhone 3GS, iPhone 4, iPhone 4S, iPod 3G/4G/5G, iPad, iPad 2, iPad 3, iPad Mini   

ARMv6: iPhone, iPhone 3G, iPod 1G/2G 


9.使用
在其他工程中使用.a文件,仅需将生成的.a文件以及对应的头文件一同拉入工程中即可。

如果静态库中用到了图片资源,一般都放到一个bundle文件中,bundle名字一般跟 .a 或 .framework 名字一致

bundle的创建:新建一个文件夹,修改扩展名为 .bundle 即可,右击bundle文件,显示包内容,就可以往bundle文件中放东西

建议:自己制作的静态库中要用到的图片资源,不建议直接以png的后缀名方式拖到项目中使用,而是推荐使用放到bundle文件中。这样可以避免静态库的图片名和使用静态库的项目中存在的图片产生冲突。

 

 

以上内容属个人总结,如若有错误的地方,欢迎提出。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值