1.新建.a靜態(tài)庫(kù)工程
需要選擇Static Library
靜態(tài)庫(kù)工程模板新建工程憨奸,如下圖:
新建靜態(tài)庫(kù)工程
實(shí)現(xiàn)需要打包的類(lèi),如下圖:
實(shí)現(xiàn)需要打包的類(lèi)
2.設(shè)置需要暴露的頭文件
添加Headers
, 步驟為:TARGET
->Build Phases
->點(diǎn)+
號(hào)->New Headers Phase
涉兽,如下圖:
然后找到
Heaers(0 items)
一欄, 點(diǎn)+
號(hào)添加頭文件, 如下圖:接著添加需要公開(kāi)的頭文件
Encryption.h
, 如下圖:添加完成后,
Encryption.h
會(huì)出現(xiàn)在Project
一欄中, 需要手動(dòng)拖入Public
一欄中進(jìn)行公開(kāi), 如下圖:拖入后,
Public
中的頭文件就是公開(kāi)的頭文件了, 如下圖:3.設(shè)置Scheme
選擇Edit Scheme
播瞳,如下圖:
選擇
Debug
模式刁赖,如下圖:4.編譯模擬器版本的.a靜態(tài)庫(kù)
選擇模擬器卑吭,如下圖:
選擇模擬器后開(kāi)始編譯渠概,編譯成功后,
Products
中的libEncryption.a
會(huì)由紅色變?yōu)楹谏疤妫缦聢D:5.編譯真機(jī)版本的.a靜態(tài)庫(kù)
選擇真機(jī)令境,如下圖:
選擇真機(jī)后開(kāi)始編譯,編譯成功后顾瞪,
Products
中的libEncryption.a
也會(huì)由紅色變?yōu)楹谏?
6.合并模擬版本和真機(jī)版本的靜態(tài)庫(kù)
選擇libEncryption.a
舔庶,右鍵選擇Show in Finder
,如下圖:
進(jìn)入Finder后陈醒,可以看到編譯后的模擬器和真機(jī)版本的.a靜態(tài)庫(kù)惕橙,如下圖:
打開(kāi)終端,使用命令行進(jìn)行版本合并钉跷,具體格式為:
lipo -create "真機(jī)版本.a靜態(tài)庫(kù)路徑" "模擬器版本.a靜態(tài)庫(kù)路徑" -output "合并后的.a靜態(tài)庫(kù)路徑"
注意中間要有空格.
在終端中輸入命令行弥鹦,如下圖:
終端執(zhí)行成功后會(huì)生成一個(gè)合并版本的.a靜態(tài)庫(kù),如下圖:
7.測(cè)試靜態(tài)庫(kù)
新建工程爷辙,將libEncryption.a
和Encryption.h
文件拖入工程彬坏,如下圖:
在ViewController.m
引入Encryption.h
頭文件,調(diào)用Encryption.h
暴露出來(lái)的加密方法膝晾,ViewController.m
中代碼如下:
#import "ViewController.h"
#import "Encryption.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//調(diào)用Encryption中的加密方法
NSLog(@"-----%@", [Encryption md5EncryptWithString:@"hello"]);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
調(diào)試窗口成功輸出打印信息栓始,如下圖:
至此,.a靜態(tài)庫(kù)制作完畢血当!