制作静态库文件(.a文件)

制作静态库文件(.a文件)

1、创建静态库工程:

在Xcode中new一个新的project,选择IOS下面的Framework&Library,下面有一个Cocoa Touch Static Library。直接next去建立一个静态库工程。(如下图)

制作静态库文件(.a文件)

2、编写工程:

现在就可以编写静态库要实现的功能(新建文件,编写代码)

3、配置静态库工程对应的Copy Files和Copy Headers:

在工程设置的Build Phases中设置(如下图),选择右下角的Add Build Phases,添加Copy Files和Copy Headers。

其中Copy Files是将其他工程调用静态库时候需要的头文件拷贝到Products Directory下的include文件夹下;Copy Headers用来设置静态库工程中文件的Target Membership,将需要公开的头文件拖到public下面。

制作静态库文件(.a文件)

4、添加资源文件(包括xib和图片等资源):

网上很多教程都是到上一步就可以编译了,但是仅限于编写一些方法(代码),无法添加资源,这里介绍如何添加资源文件。

采用的方法是,我们将所有的资源文件添加到一个bundle里面,然后把它和静态库一起include到其他工程中使用。下面是创建bundle的步骤:

a、添加bundle:在工程设置的Build Phases中设置,选择右下角的Add Target新建一个target,这里我们选择OS X下面的Framework&Library中的Bundle(如下图)。

制作静态库文件(.a文件)

b、我们可以看出这个目标模板是用于mac下面的,所以我们需要改下配置,让它可以在ios下面使用,在Build Setting下面的Base SDK值改为ios(最好改给Latest..那项)(如下图)。

制作静态库文件(.a文件)

c、现在我们可以将资源文件添加到刚才创建的bundle中了:

选择刚才创建的bundle的工程设置,在Build Phases中,将需要添加的资源添加到Link Binary With Libraries中(如下图)

制作静态库文件(.a文件)

5、编译:

编译器准备:我们编译生成的静态库文件分为release和debug版本,平时调试可以用debug版本,发布时候一定要用release版本(在Edit Schemes中修改,如下图);

制作静态库文件(.a文件)

现在就可以编译了,编译后的静态库文件、头文件还有bundle文件全都在Products  Directory文件夹下。

另外静态库还区分真机版和模拟器版本(编译的时候选择的是设备编译的就是真机版,选择的如果是模拟器编译出来的就是模拟器版本,我们可以在命令行用下面的命令查看静态库的信息:

lipo –info *.a

i386是模拟器版本,armv7是真机版本,下面的命令可以将两个版本的库文件合成一个:

lipo –create  path1/lib1.a   path2/lib2.a   -output path3/newlib.a

6、建立一个调用静态库的应用:

7、链接静态库:把第5步编译生成的后的静态库文件(.a文件)、头文件还有bundle文件添加到新建的应用中,将.a库添加到工程设置Build Phases的Link Binary With Library中,将bundle添加到工程设置Build Phases的Copy Bundle Resources中。

至此,我们已经将静态库添加到应用中了,在需要用库中方法的地方引入头文件,然后就可以调用里面的方法了。

上一篇:20155311高梓云补交的Mypc课下实践


下一篇:python第五天