- 制作一個(gè).a靜態(tài)庫,且此.a靜態(tài)庫還依賴于另一個(gè).a靜態(tài)庫,本文新建一個(gè).a靜態(tài)庫工程為
StaticAIncludeStaticA
俩莽,而另一個(gè)靜態(tài)庫工程為 iOS架構(gòu)之路03 -- 靜態(tài)庫.a打包之包含資源文件這篇文章中所創(chuàng)建的.a靜態(tài)庫工程MyCategory
,其工程結(jié)構(gòu)包含MyCategoryBundle
資源文件,如下所示:
image.png
- 利用腳本文件
Script.sh
文件生成打包文件夾MyCategory
- 新建.a靜態(tài)庫工程
StaticAIncludeStaticA
岭洲,其工程配置不做贅敘了,請(qǐng)參考 iOS架構(gòu)之路01 -- 靜態(tài)庫.a文件的制作與使用 - 然后將上述生成的打包文件夾
MyCategory
拖入a靜態(tài)庫工程StaticAIncludeStaticA
坎匿,勾選Add to targets
盾剩,如下所示:
image.png
image.png
- 在
StaticAIncludeStaticA.m
文件中引入.a靜態(tài)庫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
最后在真機(jī)與模擬器下 編譯
StaticAIncludeStaticA
靜態(tài)庫工程替蔬,再將生成的StaticAIncludeStaticA.a文件進(jìn)行合并告私,最終合并的.a文件命名為為static.a
-
在桌面上新建一個(gè)文件夾
StaticIncludeStatic
,然后將static.a文件
承桥,真機(jī)狀態(tài)下的include
文件夾即包含的頭文件 以及靜態(tài)庫工程MyCategory
中的資源文件MyCategoryBundle.bundle
放在StaticIncludeStatic
文件夾中 再創(chuàng)建一個(gè)Demo工程StaticAAProject
驻粟,將StaticIncludeStatic
文件夾拖入工程,如下所示:
image.png 在Demo工程
StaticAAProject
中快毛,引用StaticIncludeStatic靜態(tài)庫代碼如下所示:
image.png