浅谈iOS静态库.a文件

作者: 一夜暴富两夜也行 | 来源:发表于2017-02-06 11:35 被阅读116次

    本文两个项目的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文件

        本文链接:https://www.haomeiwen.com/subject/eubyittx.html