美文网首页
iOS架构之路06 -- .a静态库依赖.a静态库

iOS架构之路06 -- .a静态库依赖.a静态库

作者: YanZi_33 | 来源:发表于2021-09-15 18:03 被阅读0次
    • 制作一个.a静态库,且此.a静态库还依赖于另一个.a静态库,本文新建一个.a静态库工程为StaticAIncludeStaticA,而另一个静态库工程为 iOS架构之路03 -- 静态库.a打包之包含资源文件这篇文章中所创建的.a静态库工程MyCategory,其工程结构包含MyCategoryBundle资源文件,如下所示:
    image.png
    • 利用脚本文件Script.sh文件生成打包文件夹MyCategory
    • 新建.a静态库工程StaticAIncludeStaticA,其工程配置不做赘叙了,请参考 iOS架构之路01 -- 静态库.a文件的制作与使用
    • 然后将上述生成的打包文件夹MyCategory拖入a静态库工程StaticAIncludeStaticA,勾选Add to targets,如下所示:
      image.png
    image.png
    • StaticAIncludeStaticA.m文件中引入.a静态库MyCategory,如下所示:
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
    
    @interface StaticAIncludeStaticA : NSObject
    
    + (UIViewController *)userMyCategory;
    
    + (void)userMyCategotyArr;
    
    @end
    
    
    #import "StaticAIncludeStaticA.h"
    #import "MyCategory.h"
    
    @implementation StaticAIncludeStaticA
    
    + (UIViewController *)userMyCategory{
        return [SFLib createVC];
    }
    
    + (void)userMyCategotyArr{
        NSArray *arr = @[@"li",@"yanyan"];
        NSLog(@" str = %@",[arr safeObjectAtIndex:1]);
    }
    
    @end
    
    • 最后在真机与模拟器下 编译StaticAIncludeStaticA静态库工程,再将生成的StaticAIncludeStaticA.a文件进行合并,最终合并的.a文件命名为为static.a

    • 在桌面上新建一个文件夹StaticIncludeStatic,然后将static.a文件,真机状态下的include文件夹即包含的头文件 以及静态库工程MyCategory中的资源文件MyCategoryBundle.bundle放在StaticIncludeStatic文件夹中 再创建一个Demo工程StaticAAProject,将StaticIncludeStatic文件夹拖入工程,如下所示:

      image.png
    • 在Demo工程StaticAAProject中,引用StaticIncludeStatic静态库代码如下所示:

    image.png

    相关文章

      网友评论

          本文标题:iOS架构之路06 -- .a静态库依赖.a静态库

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