美文网首页iOS开发
iOS工程中新建静态库和联调方法

iOS工程中新建静态库和联调方法

作者: AE86 | 来源:发表于2019-05-27 15:19 被阅读0次

    日常开发中,为了节省项目的编译时间,还有同一个功能给多个业务产品线使用的情况下,我们会把公用的功能模块打包成静态库,那么在创建静态库的过程中又会出现很多问题。网上大多数的文章又仅仅只是说了基本版demo的静态库创建,而实际开发中我们需要在具体工程进行联调,提高我们开发静态库的效率。

    首先我们先来认识一下静态库。

    1、静态库即静态链接库(例如: windows下的.lib、Mac和Linux下的.a);

    2、静态库在编译的时候会被直接拷贝一份,复制到目标程序里并且这段代码在目标程序里就不会在改变了,我猜这也是该库叫"静态库"的原因;

    3、静态库的优点是在编译完成之后,库文件实际上就没有作用了,目标程序没有外部依赖,直接就可以运行;那么缺点就是会使目标程序的体积增大;

    理论说完,我们进入实战

    1、新建一个Test工程。如下

    Test工程

    2、新建一个.a静态库的target

    3、修改静态库的相关参数

    4、打开静态库文件,开始编写代码

    ASDK.h文件中添加以下代码

    #import

    @interface ASDK : NSObject

    + (void)openASDK:(NSString*)string;

    @end

    m文件如下

    #import"ASDK.h"

    @implementation ASDK

    + (void)openSDK:(NSString*)string

    {

        NSLog(@"调用了静态库%@",string);

    }

    @end

    然后编译后,会发现libASDK.a文件红色变成了灰色。

    5、在ATest工程中添加新建的.a库文件

    添加成功后,就可以在ViewController.m文件中引入头文件,使用libASDK.a库中的方法了

    后面,只需调整ASDK中的方法,重新点击运行就行,大大提高了开发静态库的效率。

    最后,每个静态库调试完成后,只需要根据网上的方法,对模拟器的包和真机包进行整合,就可以生成一个可以发布使用的静态库。参考指令:

    lipo -create /Users/apple/Library/Developer/Xcode/DerivedData/Library-bmlhmlslupltsqfkcfgmgqzducdy/Build/Products/Debug-iphoneos/libLibrary.a /Users/apple/Library/Developer/Xcode/DerivedData/Library-bmlhmlslupltsqfkcfgmgqzducdy/Build/Products/Debug-iphonesimulator/libLibrary.a -output /Users/apple/Desktop/libLibrary.a;

    相关文章

      网友评论

        本文标题:iOS工程中新建静态库和联调方法

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