1.新建.a静态库工程
需要选择Static Library
静态库工程模板新建工程,如下图:
2.设置需要暴露的头文件
添加Headers
, 步骤为:TARGET
->Build Phases
->点+
号->New Headers Phase
,如下图:
Heaers(0 items)
一栏, 点+
号添加头文件, 如下图: Encryption.h
, 如下图: Encryption.h
会出现在Project
一栏中, 需要手动拖入Public
一栏中进行公开, 如下图: Public
中的头文件就是公开的头文件了, 如下图: 3.设置Scheme
选择Edit Scheme
,如下图:
Debug
模式,如下图: 4.编译模拟器版本的.a静态库
选择模拟器,如下图:
Products
中的libEncryption.a
会由红色变为黑色,如下图: 5.编译真机版本的.a静态库
选择真机,如下图:
Products
中的libEncryption.a
也会由红色变为黑色. 6.合并模拟版本和真机版本的静态库
选择libEncryption.a
,右键选择Show in Finder
,如下图:
lipo -create "真机版本.a静态库路径" "模拟器版本.a静态库路径" -output "合并后的.a静态库路径"
注意中间要有空格.
在终端中输入命令行,如下图:7.测试静态库
新建工程,将libEncryption.a
和Encryption.h
文件拖入工程,如下图:
在ViewController.m
引入Encryption.h
头文件,调用Encryption.h
暴露出来的加密方法,ViewController.m
中代码如下:
#import "ViewController.h"#import "Encryption.h"@interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //调用Encryption中的加密方法 NSLog(@"-----%@", [Encryption md5EncryptWithString:@"hello"]); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
调试窗口成功输出打印信息,如下图:
至此,.a静态库制作完毕!
参考链接: