iOS 打包静态库.a文件

1、新建项目 –> Cocoa Touch Static Library

1

2、添加库需要包含的代码

2

3、将需要暴露的.h文件暴露出来,.m会自动编译到.a文件中


3

4、分别选择真机设备和模拟器,command + B编译,staticTest会从红色变成黑色。真机和模拟器环境下用的.a文件是分开的。

4

5、在“Show in Finder ”,可以看到编译生成的.a 和 暴露的.h文件。

5

Note:

- Debug-iphoneos 文件夹里面的东西是用在真机上的

- Debug-iphonesimulator 文件夹里面的东西是用在模拟器上的

- 如果 Scheme 是 Release 模式,生成的文件夹就以 Release 开头

调试版本 VS 发布版本

- 调试版本会包含完整的符号信息,以方便调试

- 调试版本不会对代码进行优化

- 发布版本不会包含完整的符号信息

- 发布版本的执行代码是进行过优化的

- 发布版本的大小会比调试版本的略小

- 在执行速度方面,发布版本会更快些,但不意味着会有显著的提升

当我们需要打包的.a文件里面用到了图片等资源文件。此时我们不该直接把resource文件夹拖进项目,而是建立.bundle文件,然后把图片等资源放进.bundle里面管理。

添加bundle


显示包内容

在其他项目中使用我们打包的.a文件时,只需要将.a文件和暴露的.h文件以及资源文件.bundle(有Xib时还需要拖Xib)拖进新项目即可使用。

如果想要使打包好的.a文件能同时在模拟器和真机上使用,需要将两个.a文件进行合并。在终端输入指令:

lipo -create~/Debug-iphoneos/libstaticTest.a~/Debug-iphonesimulator/libstaticTest.a-output ~/libstaticTest.a

推荐阅读更多精彩内容