iOS 静态库 .a文件创建
2016-05-31 本文已影响277人
健健锅
最近用到文件的保密性 于是便想到了静态库
静态库 有.a 和framework 这次的主题是 .a 静态库
创建静态库文件 新建工程
![](https://img.haomeiwen.com/i1907672/5eca4c4996ec574a.png)
选择library
进入工程以后会看到
![](https://img.haomeiwen.com/i1907672/27bfaac051d9ec58.png)
.h 和.m 文见是用来编辑内容的
红色的libadd.a 就是我们最后要得到的静态文件 红色代表 还不存在
接下来就是在.h 中声明 .m中实现功能
同时还要选择 状态 debug 或者release
![](https://img.haomeiwen.com/i1907672/5d1b2c09b42ea409.png)
![](https://img.haomeiwen.com/i1907672/1bc195f85b29fff0.png)
在内容完成以后 有这个commond+b 一下 然后在切换到模拟器状态下在运行一下
分别得到的是真机状态下和模拟器状态下的.a静态库
对工程中的.a文件
![](https://img.haomeiwen.com/i1907672/08871eeecf9aa8a6.png)
show in finder 可以找到响应文件
![](https://img.haomeiwen.com/i1907672/868c31e997367cbe.png)
如果我们只把真机的.a 和.h添加到使用的工程中 真机运行没问题的 但是模拟器运行是会报错
![](https://img.haomeiwen.com/i1907672/ddebd6859b309ffa.png)
同样反过来也是一样的
那么就需要模拟器和真机的.a 合并
需要终端来
![](https://img.haomeiwen.com/i1907672/79536852757ac442.png)
首先cd 输入需要导出合并文件夹的文件位置
接着就是 lipo -create /就是模拟器.a的地址 .a 真机,a文件的位置.a -output 文件名字(xx.a)
最后回车就行
当然有时候操作有误会报错
![](https://img.haomeiwen.com/i1907672/3290631b4746bb91.png)
这说明 终端自己输入错误从新来就行了 生成的就是合并后的.a 完成 .a相对安全性高一点 毕竟 内容没有完全暴漏出来
有时间在搞 framework的