十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
在做第三方的SDK的時(shí)候常會把自己的類編譯成靜態(tài)庫,在提供給開發(fā)者使用的是好就能隱藏自己的私密信息,如私有API、APIKey等;
此處將開源的JSONKit類庫編譯成靜態(tài)庫,然后再使用我們編譯好的靜態(tài)庫來來解析一個(gè)json文件
1.新建靜態(tài)庫工程,選擇Framework & Library --》next ,命名JSONKitLib
2.刪除自動生成的JSONKitLib.h和JSONKitLib.h(因?yàn)槭谴虬鼊e人的類,不需要這兩個(gè)文件,如果是自己制作就沒必要刪除了),在https://github.com/johnezang/JSONKit下載JSONKit,將JSONKit.h和JSONKit.m拷貝到這個(gè)工程之中;
3.此處要特別注意的,因?yàn)閕OS模擬器是基于Mac OS平臺X86架構(gòu),iOS設(shè)備都是給予ARM架構(gòu),所以給他們提供的靜態(tài)庫也必須對于他們的架構(gòu),幸運(yùn)的是Xcode可以同時(shí)編譯這兩個(gè)架構(gòu)的庫;
編譯的時(shí)候調(diào)到iOS Device , Product --> Build; 如果調(diào)到其他則不能編譯出來靜態(tài)庫
4.編譯成功后就會出來libJSONKitLib.a,右鍵選中,show in finder ;會有Debug-iphoneos和Debug-iphonesimulator兩個(gè)文件夾下的靜態(tài)庫,先讓我們看看用lipo查看一下文件類型
一個(gè)是ARM架構(gòu)的 一個(gè)是x86平臺的i386架構(gòu)的;如果我們要在模擬器上運(yùn)行測試需要拷貝Debug-iphonesimulator下的靜態(tài)庫,如果需要在運(yùn)行真機(jī)或是真機(jī)測試就必須是Debug-iphoneos下的靜態(tài)庫;
5.現(xiàn)在來測試剛剛編譯的靜態(tài)庫,最好將這兩庫都拷貝出來,方便添加使用;新建一個(gè)xcode工程,把JSONKit.h文件添加到新建工程中,然后在把Debug-iphonesimulator下編譯的靜態(tài)庫添加進(jìn)去
6.此處測試代碼測試使用的是國家氣象局api,返回的是json文件
- (IBAction)TapJsonPaser:(id)sender { NSError *error; NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.weather.com.cn/data/101180701.html"]]; NSData *repsponse = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error]; JSONDecoder *jsonPaser = [[JSONDecoder alloc] init]; NSDictionary *weatherDic = [jsonPaser objectWithData:repsponse error:&error]; NSLog(@"解析結(jié)果:%@",weatherDic); [jsonPaser release]; }
但是有人會覺得這個(gè)太麻煩,果斷的將這兩個(gè)靜態(tài)庫打包成一個(gè)靜態(tài)庫使用命令
lipo -create Debug-iphoneos/libJSONKitLib.a Debug-iphonesimulator/libJSONKitLib.a -output libJSONKitTestLib.a
方法好雖好,但會犧牲空間,文件會變大,JSONKit源文件12KB + 177KB,編譯成靜態(tài)庫后arm架構(gòu)的511KB i386架構(gòu)的263KB,把它們打包成一個(gè)靜態(tài)庫是774KB;
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。