本文两个项目的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,谢谢!
网友评论