91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS靜態庫的編譯

發布時間:2020-08-06 13:59:42 來源:網絡 閱讀:313 作者:新風作浪 欄目:移動開發

在做第三方的SDK的時候常會把自己的類編譯成靜態庫,在提供給開發者使用的是好就能隱藏自己的私密信息,如私有API、APIKey等;


此處將開源的JSONKit類庫編譯成靜態庫,然后再使用我們編譯好的靜態庫來來解析一個json文件


1.新建靜態庫工程,選擇Framework & Library --》next ,命名JSONKitLib

iOS靜態庫的編譯iOS靜態庫的編譯


2.刪除自動生成的JSONKitLib.h和JSONKitLib.h(因為是打包別人的類,不需要這兩個文件,如果是自己制作就沒必要刪除了),在https://github.com/johnezang/JSONKit下載JSONKit,將JSONKit.h和JSONKit.m拷貝到這個工程之中;


3.此處要特別注意的,因為iOS模擬器是基于Mac OS平臺X86架構,iOS設備都是給予ARM架構,所以給他們提供的靜態庫也必須對于他們的架構,幸運的是Xcode可以同時編譯這兩個架構的庫;

編譯的時候調到iOS Device ,  Product  --> Build;  如果調到其他則不能編譯出來靜態庫

iOS靜態庫的編譯

4.編譯成功后就會出來libJSONKitLib.a,右鍵選中,show  in finder  ;會有Debug-iphoneos和Debug-iphonesimulator兩個文件夾下的靜態庫,先讓我們看看用lipo查看一下文件類型

iOS靜態庫的編譯


iOS靜態庫的編譯

一個是ARM架構的  一個是x86平臺的i386架構的;如果我們要在模擬器上運行測試需要拷貝Debug-iphonesimulator下的靜態庫,如果需要在運行真機或是真機測試就必須是Debug-iphoneos下的靜態庫;


5.現在來測試剛剛編譯的靜態庫,最好將這兩庫都拷貝出來,方便添加使用;新建一個xcode工程,把JSONKit.h文件添加到新建工程中,然后在把Debug-iphonesimulator下編譯的靜態庫添加進去

iOS靜態庫的編譯


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(@"解析結果:%@",weatherDic);
    [jsonPaser release];
}

結果 

 

iOS靜態庫的編譯


但是有人會覺得這個太麻煩,果斷的將這兩個靜態庫打包成一個靜態庫使用命令

lipo -create Debug-iphoneos/libJSONKitLib.a Debug-iphonesimulator/libJSONKitLib.a -output libJSONKitTestLib.a

iOS靜態庫的編譯


方法好雖好,但會犧牲空間,文件會變大,JSONKit源文件12KB + 177KB,編譯成靜態庫后arm架構的511KB  i386架構的263KB,把它們打包成一個靜態庫是774KB;



 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

芦山县| 安仁县| 越西县| 博罗县| 松阳县| 苗栗县| 伊川县| 香港| 西安市| 容城县| 阳春市| 奉节县| 武强县| 齐河县| 浠水县| 南川市| 永川市| 荥经县| 长沙市| 长垣县| 滁州市| 建平县| 和平区| 门头沟区| 视频| 丹棱县| 东平县| 内丘县| 皋兰县| 根河市| 祥云县| 濉溪县| 浪卡子县| 陆河县| 拜城县| 肥西县| 永胜县| 邢台县| 舞钢市| 平乐县| 康乐县|