创建和使用静态库.a 文件

最近需要用到一些封装的静态文件,搜了些资料。现翻译一下我看到的资料。水平有限,如有错误,欢迎指正。译文如下:

最近,在开发了一个应用程序后,我们打算把他封装为库文件,供其他文件调用,查阅资料,发现很多东西都是模糊的,不清晰的,过时的,因此我读了几个教程,相信我能够给出一个最佳的创建使用方法。

1.创建一个静态库

首先,你需要创建一个新的xcode project。根据选择面板,在Framework & Library 选项中,选择Cocoa Touch Static Library



然后给出你想要描述项目的名字,不过最后你可以给你生成的.a文件重命名。选择你想要创建的路径,点击create。

接下来,移除项目中自动生成的.h 和.m文件。这些文件应该是和项目文件同名。

然后,选择你原本想要包含在这些静态库里的源文件。把他们添加到这个项目中来,一定要包含每一个文件夹中的.h 和.m以及相关的。plist或者其他的资源文件,诸如库文件,或是其他相关的文件。复制他们的时候,要勾选add to target 的选项框以确保所有被包括的。m文件都被包括在库里面。



很重要的一点,你要检查你的库项目中所有的前缀文件是否都已经导入,以避免你的库有任何的build 的错误

现在,我们想在真机和模拟器上build 这个libaray了。在真机上 build ,选择相连接的真机名称,如下



然后,build libray。如果build 成功了,products 文件夹里的.a文件应该是黑颜色的(不是红颜色的就可)。

在模拟器上build ,选择有效的模拟器,然后再build 一下类库

接下来,我们就可以找到我们新建的类库了。右击文件夹下的类库,然后show in finder 找到类库的位置。


这个封闭的文件夹里是library 项目的product 文件,这里面包括两个文件夹,一个是真机的,一个是模拟器的。

下一步就是要把这两个类库合并为一个大的类库,可以同时在真机和模拟器上使用。最简单的方法就是拷贝这两个类库到另一个文件夹里,重命名以区分他们。




打开中断,路径指引到包含这两个库的文件夹中,然后运行下面的命令,然后你的两个库的就会被替代为新的名字

lipo -create libPictureTouchLibraryDevice.a libPictureTouchLibrarySimulator.a -output libPictureTouchLibrary.a
这就在相同的文件夹下创建了一个新的类库,既可以在真机上使用,又可以在模拟器下使用。

最后,发布这个library 时,我们需要包含.h文件和一些资源文件,比如要在库中使用的 .plist文件,这些文件连同那个打包好的大的.a文件,都是我们为了实现库所要用到的




现在你有一个静态的类,准备好把他用在你的xcode 项目里吧


二.添加静态库到一个project

首先,如果你是按照上述的方法创建的库文件,并且打算把他添加到他原始的项目中去,那么记得在添加之前移除所有有关于创建类库的.h 和.m文件





接下来,把.a和所有的资源文件加到project 中去,一定要勾选Add to targets以添加到应用程序的主程序中。



否则,你将不得不添加这个库文件到project 下,这个库现在 可以工作了。有可以在你的项目中引用他。

原文出处:http://www.nearinfinity.com/blogs/tyler_vernon/2012/07/17/creating-and-using-static-libraries-for-iphone-using-xcode-4.3.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值