您的位置:首页 > 移动开发 > IOS开发

IOS中.a库的封装和使用以及遇到i386的问题

2016-01-06 16:36 771 查看
将一个已存在的A项目导入的已存在的B项目中

1.用Xcode创建一个Library的工程

2.将A项目中用到的库添加到Target--Build Phases--Link Binary With Libraries下

3.将A项目中的B项目要使用到.h和.m文件添加到新创建的Library的工程中

(注意设置.m文件的-fno-objc-arc)

4.设置Library的工程的Scheme下Run的Build Configuration 为Release

5.buildLibrary的工程,在Products文件下有个.a文件Show In Finder就会看到封装好的.a文件和一个包含.h的include文件夹

(注意需要编译两次分别在生成一个是真机下的.a文件和一个是在模拟器下的.a文件)

6.合并两个.a文件

6.将合并好的.a文件和include文件夹下的.h文件分别拉进B项目中

7.在B项目中将生成的.a文件添加到Target--Build Phases--Link Binary With Libraries下

8.目前.a库就成功导入到B项目中了,使用的时候调用.h文件即可

小结:如果没有用合并的.a文件,只是将真机下编译的.a文件导入项目中,在模拟器上编译时就会报关于.a文件的i386错误,但是真机下就可以成功。

合并.a文件的方法

终端

lipo -create 真机.a文件路径 模拟器.a文件路径 -output 导出合并后存放路径

查看是否成功

lipo -info 导出的.a路径

Architectures in the fat file: SQY/iOS/libGamePus.a are: armv7 i386

armv7真机 i386模拟器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: