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

本文介绍了如何在iOS开发中封装.a静态库,并解决在模拟器上编译时遇到的i386错误。步骤包括创建Library工程,导入所需文件,设置Build Configuration为Release,编译生成.a文件,合并真机与模拟器的.a文件,最后将库导入目标项目。通过终端的lipo命令可以检查合并是否成功。
摘要由CSDN通过智能技术生成

将一个已存在的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模拟器






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值