iOS 静态库 .a文件创建
2016-05-31 本文已影响277人
健健锅
最近用到文件的保密性 于是便想到了静态库
静态库 有.a 和framework 这次的主题是 .a 静态库
创建静态库文件 新建工程
选择library
进入工程以后会看到
69577101-D396-459C-B1DE-F1F625951635.png
.h 和.m 文见是用来编辑内容的
红色的libadd.a 就是我们最后要得到的静态文件 红色代表 还不存在
接下来就是在.h 中声明 .m中实现功能
同时还要选择 状态 debug 或者release
1DBE4737-EC25-4481-B686-0F64B40CA3E4.png E088C73C-92D5-4208-8531-F3B9148B5ED5.png
在内容完成以后 有这个commond+b 一下 然后在切换到模拟器状态下在运行一下
分别得到的是真机状态下和模拟器状态下的.a静态库
对工程中的.a文件
203F7DA9-F3E2-405B-AFDB-247F2079576F.png
show in finder 可以找到响应文件
437785BC-92A9-4820-861F-307E48128191.png
如果我们只把真机的.a 和.h添加到使用的工程中 真机运行没问题的 但是模拟器运行是会报错 27C09A78-07E4-47CE-BEA9-37184EF5FFF5.png
同样反过来也是一样的
那么就需要模拟器和真机的.a 合并
需要终端来
首先cd 输入需要导出合并文件夹的文件位置
接着就是 lipo -create /就是模拟器.a的地址 .a 真机,a文件的位置.a -output 文件名字(xx.a)
最后回车就行
当然有时候操作有误会报错
889A3B64-7173-4338-9197-72BA222E931D.png
这说明 终端自己输入错误从新来就行了 生成的就是合并后的.a 完成 .a相对安全性高一点 毕竟 内容没有完全暴漏出来
有时间在搞 framework的