教你轻松打包.a和framework静态库

项目空隙,总结之前打包静态库经历
一  .a静态库打包

1.首先打开xcode新建工程,选择CocoaTouch Static Library 截图如下

2.Next  取好工程名后完成如下

3.添加你要打包的静态库代码,我是直接用要打包.h .m 文件替换ZYZ_Test.h 和.m文件

需要暴露一个.h文件 给外部申明使用 targets Build Phases 选择 1左上角加号 headers  2 选择加入文件 project 再拖到public暴露

一般.a 库会选择暴露一个.h 文件 那如果你有多个.m 文件 ,那么需要申明就都在那一个暴露的.h文件里,.m太多,一个.h冗余,那可以试试framework打包静态库

4.修改project 最低适配版本号 为 8.0 修改Edit Scheme  run 为Release

扫描二维码关注公众号,回复: 11133501 查看本文章

4.然后模拟器运行,真机运行下,项目libZYZ_Test.a show in finder 可以发现有两个.a文件

拖出两个libZYZ_Test.a 放在同一个文件夹,修改.a名字两个.a不同名。

5.打开终端输入 

lipo -info "路径"可以查看相关支持信息

lipo -create "真机版本.a静态库路径" "模拟器版本.a静态库路径" -output "合并后的.a静态库路径"

1 2 查看相关.a 信息 3 合并.a 信息 4 查看合并后.a信息

6.将合并后.a拖到相关工程,加上暴露的.h文件就可以使用打包的.a 文件了

二.framework 打包静态库 

1.首先打开xcode新建工程,选择CocoaTouch Framework 截图如下

2.新建完工程后 在PROJECT->Deployment Target->iOS Deployment Target选择你需要支持的最低系统。

同时打包.a 一样 targets -> Build Phases ->  Headers  添加你封装的文件

3.打包。Edit Scheme->Build Configuration->选为Release然后Run即可.真机和模拟器各运行一次

4.项目选中Products 里的framework show in Finder  会看到真机和模拟器各自目录下framework,拖出放到一个文件夹

5.将两个文件夹里的ZYZ_Test 合并 这样真机和模拟器都支持framework库了

lipo -create 真机路径 模拟器路径 -output 合并后文件   

将合并后文件拖到真机framework里替换原来的ZYZ_Test文件就可以了

对了 打完包运行如果出现    dyld: Library not loaded, Reason: image not found

库没加载出来 ,在targets->BuildPhases -> Link Binary With Libraries  点击+ 号,添加进库就可以了

发布了30 篇原创文章 · 获赞 16 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Asia_ZhangQQ/article/details/71158375