制作,利用lipo 编译合并iPhone模拟器和真机通用的静态类库

转自cocoachina:http://www.cocoachina.com/bbs/read.php?tid=8466&keyword=%BE%B2%CC%AC%C0%E0%BF%E2

(一)制作静态类库
• ❑ 为方便讲解,更方便与初期代码测试,新建一个项目,StaticLibraryExample
• ❑ 新建Target。 假设我们需要制作的静态类库名为 IMIBase. 右击Targets,添加新Target。选择Static Library, 名字为IMIBase

 

• ❑ 添加类文件到IMIBase。在新建文件选项中注意,添加到的Target是IMIBase,而不是默认的StaticLibraryExample。
 

• ❑ 随便写一个方法printAAA 打印字符串AAA。
 
• ❑ 测试。双击Target StaticLibraryExample,在General中添加直接依赖关系,选择IMIBase。这样做的目的是保证每次运行测试的时候都会编译 IMIBase。 完成后command+b 编译。我们会在Products智能文件夹发现2个产品,一个是StaticLibraryExample.app 另一个是libIMIBase.a 后者就是我们需要的静态类库了,默认前缀是lib 后缀是.a的文件。(需要注意的是.a文件会被svn默认忽略掉,请google svn配制)。将.a文件拖到Target StaticLibraryExample的Link Binary With Libraries文件夹。  

(二)利用lipo 编译合并iPhone模拟器和真机通用的静态类库

假设两个版本的lib分别是 libIMIUI.s.a , libIMIUI.d.a 我们的目标是 把他们合并成无敌超级通用版的libIMIUI.a


打开命令行 Terminal.app 输入:

lipo -create

然后依次把两个.a文件拖到终端窗口, 命令行会变成这样:

lipo -create /Users/Travis/Desktop/libIMIUI.d.a /Users/Travis/Desktop/libIMIUI.s.a

然后接着输入 -output 目标文件路径,如:

-output /Users/Travis/Desktop/libIMIUI.a

最后现在这样一条命令:

lipo -create /Users/Travis/Desktop/libIMIUI.d.a /Users/Travis/Desktop/libIMIUI.s.a -output /Users/Travis/Desktop/libIMIUI.a

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值