新建工程,點(diǎn)擊下圖中的加號(hào):
選擇Cocoa Touch Static Library:
點(diǎn)擊next,起名字,點(diǎn)擊finish后target欄會(huì)出現(xiàn)剛才新建的lib:
來到Xcode為我們自動(dòng)創(chuàng)建好的頭文件,如果不想要也可以刪掉自己重新新建文件,寫一個(gè)測(cè)試方法:
demoLib.h:
+ (void)printCurrentTime;
demoLib.m:
+ (void)printCurrentTime {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSLog(@"當(dāng)前時(shí)間是:%@", [formatter stringFromDate:[NSDate date]]);
}
寫好之后選擇demoLib,點(diǎn)擊Edit Scheme…:
選擇run,把Build Configuration改成Release,因?yàn)檫@樣Xcode會(huì)編譯支持各個(gè)架構(gòu)的靜態(tài)庫版本,否則只會(huì)編譯支持當(dāng)前架構(gòu)的靜態(tài)庫版本:
點(diǎn)擊close之后貌似不用手動(dòng)run也不用手動(dòng)build,Xcode已經(jīng)自動(dòng)為我們編譯好了靜態(tài)庫,印象中以前是要手動(dòng)build一下的來著:
點(diǎn)擊Show In Finder查看,會(huì)有四個(gè)版本,分別是:
Debug-iphoneos
Debug-iphonesimulator
Release-iphoneos
Release-iphonesimulator
分別對(duì)應(yīng)在Debug和Release下的模擬器和真機(jī)。
查看不同版本的靜態(tài)庫支持的架構(gòu),可以cd到對(duì)應(yīng)的目錄下,使用
lipo -info 靜態(tài)庫名稱
指令,上述release版本支持的架構(gòu)分別是-
Release-iphoneos :armv7、arm64:
Release-iphoneos -
Release-iphonesimulator:i386、x86_64
Release-iphonesimulator
接下來就是靜態(tài)庫合并了,你不可能發(fā)兩個(gè)不同版本的靜態(tài)庫給人家用把,合并用到的指令是:lipo -create 靜態(tài)庫a 靜態(tài)庫b -output 合并后的靜態(tài)庫名稱
:
這就是合并好的新的靜態(tài)庫:
可見合并后的靜態(tài)庫已經(jīng)支持以上所有的架構(gòu)了:
接下來,開開心心的新建一個(gè)文件夾,把合并后的靜態(tài)庫和include文件夾放進(jìn)去,甩給同事用吧,微微一笑,深藏功與名。
如果有錯(cuò)誤的地方,懇請(qǐng)指出,一起學(xué)習(xí)一起進(jìn)步。