IOS::.a的生成,以及模拟器和真机.a 的合并

时间:2016-10-10 16:13:32   收藏:0   阅读:217
技术分享
1560D4FD-1030-4643-AA44-7070C028D2D3.png


4.接下来就是编译生成.a文件了
快捷键(command+B)选中真机编译和选中模拟机编译对应生成的连个.a文件一个是真机的一个是模拟机的

技术分享
5AB668DE-A882-4EA5-B3AA-F7C67FB650B7.png

这时候去资源库里查找编译生成的.a文件
找到 前往 然后 按着 option 快捷键 你会看到 资源库 点击 如图

技术分享

技术分享
998F053B-CD9A-455C-8B88-CF0A72B7C8B7.png

看到Release-iphoneos 和Release-iphonesimulator 里边的.a文件

技术分享
5AB668DE-A882-4EA5-B3AA-F7C67FB650B7.png


4.接下来就是将你生成的.a文件引入到你想加入的工程中

技术分享
4FF87073-D14F-4D6D-964A-78A59B155743.png


引入方法:直接将上图你所看到的include文件夹中所有的.h文件和下边对应的.a文件直接拖到你的工程中 千万注意下图中的三个选项勾选

技术分享
FB518732-A5E0-419E-8A92-8B07803A83C4.png
技术分享
D5B5F50F-5A90-48C1-B669-DE1F8E5B740B.png


5.添加成功后就可以直接使用了 但是需要注意的是 如果你是选择模拟器编译生成的.a文件那么在真机运行的时候是会报错的 所以为了可以使用真机和模拟器都可以使用.a文件可以合并成为一个.a文件 使用终端合成具体方法如下:
ZXYdeMacBook-Pro:~zxy$ lipo -create 模拟器.a(路径)    真机.a(路径)    -output 可以把模拟器的.a复制一份重命名.a 
这样,就可以合并成一个通用的静态库,唯一的缺点是体积要大一点相对于真机和模拟器两个的总大小 之后将这个静态库拖到工程中即可

------------分割线------
由于看到各位提出的问题在iphones 4s 和iphone 5上无法使用的问题后来查阅各种资料找到答案如下:
原因是因为静态库少了4S~5:i386 对应的cpu架构
如下图所示:
在 cd 到资源库你的.a 文件所在的路径 然后使用如下命令查看:
lipo - infor *.a
显示的结果如下图

技术分享
3EF5E4D6-69FC-4E68-A64D-DF8A93F5EE45.png

只需要到你们的.a工程中找到如下图的Debug 将Yes 改成NO即可 然后重新 commond + B 进行重新编译 选择所有的模拟器进行编译 好了 之后再接着你上班的步骤重新愉快的来一遍问题就ok了!!!

技术分享

 

原文:http://www.cnblogs.com/zgg68/p/5946089.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!