美文网首页
iOS 生成.a静态库文件文档

iOS 生成.a静态库文件文档

作者: moreFine | 来源:发表于2017-07-15 19:05 被阅读20次

    和上两篇文档一样,这篇文档也是去年在前公司写的,现在贴出来,希望对有需求的同学有所帮助。PS*此文档截图均来自Xcode7.3.1

    一.a工程新建

    打开XCode新建工程选择Framework&Library -> Cocoa Touch Static Library点击next输入工程名,机构名,选择语言点击next生成新的工程。

    二.a工程配置

    1.设置支持的iOS最低版本

    2.配置支持的的真机架构

    为了使编译的.a文件适配所有机型,首选将设置用只支持当前架构的选项(Buil Active Architectrue Only)的值设为No。

    项目真机编译时默认支持arm64(iphone5s及以上手机使用),armv7(iphone4s及以下手机使用)架构,所以为了适配所有机型需要加上iphone5和iphone5c的armv7s架构,故如上图所示:点击Architecture选择other点击“+”添加arm64,armv7,armv7s。

    3.配置编译文件以及关联库

    4.项目代码

    代码的书写以及导入库的方式和APP工程一样。

    三.a静态库生成

    1.由于供人使用的静态库都处在release模式下所以在生成.a文件时要将工程至于release模式下;

    如上图点击工程选择Edit Scheme如下图

    将Build Configuration的值设置为release。

    2.先设置编译支持设备为Generic iOS Device,再按command+b生成适配真机的.a文件

    3.设置编译支持设备为某一款模拟器,再按command+b生成适配模拟器的.a文件;

    4.上诉两步之后可在便生成了release模式下真机和模拟器的两套.a文件,下一步就是讲两个.a文件融合生成一个适配模拟器和真机的静态库,具体如下:

    a.打开命令行工具cd到Products(存储两个.a文件的文件夹)文件路径下

    b.在工具中输入:lipo –create模拟器.a路径真机.a路径–output新的静态库.a然后回车即可生成新的静态库,如下图


    然后将此.a文件和头文件文件夹(例如上图中的socialSDK)项目中并添加相关依赖库即可使用。

    ->>>>以下是在APP项目中使用.a需要做的

    c.依赖库添加,这里以静态库中封装了,QQ,wechat,sina,99click,AFNetworking,以及RSA,MD5相关库和代码为例。

    1>首先添加如下系统依赖库;

    2>添加QQ,wechat,sina等的第三方SDK添加到项目中;

    3>将工程Build Setting下Linking中Other Linker Flags的值设成–all_loady以及-fobjc-arc;将Build Option下的EnableBitcode设置成No。

    通过以上设置后项目即可正常编译。

    ps*swift由于还不稳定故不要有使用他做SDK的想法,老老实实用OC。

    相关文章

      网友评论

          本文标题:iOS 生成.a静态库文件文档

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