- 制作一个.a静态库,且此.a静态库还依赖于另一个.a静态库,本文新建一个.a静态库工程为
StaticAIncludeStaticA
,而另一个静态库工程为 iOS架构之路03 -- 静态库.a打包之包含资源文件这篇文章中所创建的.a静态库工程MyCategory
,其工程结构包含MyCategoryBundle
资源文件,如下所示:
- 利用脚本文件
Script.sh
文件生成打包文件夹MyCategory
- 新建.a静态库工程
StaticAIncludeStaticA
,其工程配置不做赘叙了,请参考 iOS架构之路01 -- 静态库.a文件的制作与使用 - 然后将上述生成的打包文件夹
MyCategory
拖入a静态库工程StaticAIncludeStaticA
,勾选Add to targets
,如下所示:
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
-
在桌面上新建一个文件夹
image.pngStaticIncludeStatic
,然后将static.a文件
,真机状态下的include
文件夹即包含的头文件 以及静态库工程MyCategory
中的资源文件MyCategoryBundle.bundle
放在StaticIncludeStatic
文件夹中 再创建一个Demo工程StaticAAProject
,将StaticIncludeStatic
文件夹拖入工程,如下所示:
-
在Demo工程
StaticAAProject
中,引用StaticIncludeStatic静态库代码如下所示:
网友评论