浅谈iOS静态库.a文件

本文两个项目的github地址:地址

一:静态库.a文件是什么?

iOS代码打包成库,以.a格式结尾的库文件。

二:静态库.a文件有什么作用?

项目中有些功能要给别人用,又不想公开核心代码,比如支付宝、微博、微信、高德等第三方插件。

三:如何制作静态库.a文件?

1、先看下iOS设备有哪些架构,下面会用到。

模拟器:

iPhone4s-iPnone5:i386

iPhone5s-iPhone7 Plus:x86_64

真机:

iPhone3gs-iPhone4s:armv7

iPhone5-iPhone5c:armv7s

iPhone5s-iPhone7 Plus:arm64

支持armv7的静态库可以在armv7s上正常运行。

2、新建项目工程,选择Coach Touch Static Library,而不是Single View Application。

3、为确保生成的静态库能在各种设备上运存,需要修改Build Active Architecture Only 为NO。

4、写一个输出方法,并在头文件暴露出来。

5、选择任意模拟器编译一次,再连接真机或者切换Generic ios Device,编译一次,可以看到product下面的.a文件由红色变成了黑色。

6、选择product下面的.a文件,右键show in finder,可以拿到两个.a文件。

7、合并两个.a文件,确保在真机和模拟器上都能运行。命令格式:

lipo -create 第一个.a文件的绝对路径 第二个.a文件的绝对路径 -output 最终的.a文件路径:

8、可用如下命令查看静态库支持的架构类型。

lipo -info “.a地址”

四:静态库的使用?

新建项目工程,将上面的通用静态库拖进去,导入头文件,就可以使用里面的方法了。详细步骤看图。

本文两个项目的github地址:地址,如果觉得对你有用请不吝赏个star,谢谢!

你可能感兴趣的:(浅谈iOS静态库.a文件)