美文网首页
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