iOS中打包.a靜態庫


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,如下圖:


進入Finder后,可以看到編譯后的模擬器和真機版本的.a靜態庫,如下圖:


打開終端,使用命令行進行版本合並,具體格式為:

lipo -create "真機版本.a靜態庫路徑" "模擬器版本.a靜態庫路徑" -output "合並后的.a靜態庫路徑"

注意中間要有空格.
在終端中輸入命令行,如下圖:


終端執行成功后會生成一個合並版本的.a靜態庫,如下圖:

7.測試靜態庫

新建工程,將libEncryption.aEncryption.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靜態庫制作完畢!

 

 

 

 

 

 

 

 

 

 

參考鏈接: http://www.jianshu.com/p/add59ec093b6


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM