您好,處理一般數(shù)據(jù)可以用IOS的數(shù)據(jù)類型和方法即可夠用,如UIImage,NSData,NSString或者NSNumber等,如果您是指處理從網(wǎng)絡(luò)請(qǐng)求的數(shù)據(jù)或者Json和xml文件,那么一般會(huì)用到ASIHTTPRequest、GData和SDWebImage類庫(kù)
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鎮(zhèn)坪ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鎮(zhèn)坪網(wǎng)站制作公司
如果是處理Json類的文件可以用官方提供的
+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error;方法,獲得一個(gè)字典類型的對(duì)象,您可以根據(jù)字典中的值再進(jìn)行依次提取
至于處理XML,使用官方的方法不僅費(fèi)時(shí)費(fèi)力而且容易出錯(cuò),所以使用GData第三方類庫(kù),安裝后解析XML文件時(shí)可以獲得XML的根節(jié)點(diǎn)和各個(gè)節(jié)點(diǎn)從而進(jìn)行解析和轉(zhuǎn)換
公司開發(fā)的SDK,是集成了各個(gè)平臺(tái)的商品,包括購(gòu)買、分享、提現(xiàn)等功能,為了加快進(jìn)度,我是使用了一些第三方。但是有些需求,比如分享到微信朋友圈或者還有,必須用到微信的SDK??紤]到后期的維護(hù)成本和集成,筆者采用了cocoapods管理第三方庫(kù)。
筆者有片文章專門介紹SDK的開發(fā)步驟的,大家可以參考,我這里就直接進(jìn)入主題了。
首先,你創(chuàng)建一個(gè)靜態(tài)的framework工程MyTestSDK,把這個(gè)工程集成cocpapods,至于如何集成cocpapods,網(wǎng)上有教程,自己搜索。這個(gè)時(shí)候把你項(xiàng)目中所用的第三方庫(kù)添加到Podfile文件中,然后 pod install。這個(gè)時(shí)候你command + B 編譯運(yùn)行,如果你的第三方庫(kù)中還有Bundle資源,那么編譯后,第三方庫(kù)的bundle資源會(huì)被編譯,一起放到Products文件下的framework文件中,右鍵Show in Finder就會(huì)看到。如下圖所示的MBProgressHUD文件夾,里面都是MBProgressHUD第三方的資源文件。
然后把你的項(xiàng)目放入SDK工程中,編譯運(yùn)行一下,看看有沒(méi)有錯(cuò)誤。之所以先把SDK工程選用cocoapods管理,就是怕你的項(xiàng)目放入SDK中運(yùn)行報(bào)錯(cuò)。沒(méi)有任何問(wèn)題,直接編譯即可。
由于SDK中的第三方是通過(guò)cocoapods管理的,所以接入者的項(xiàng)目也要用cocoapods管理。
1:把SDK工程中,Products文件夾下的framework文件copy到項(xiàng)目中,最好項(xiàng)目中建立一個(gè)文件夾,專門放SDK和bundle。我是放到了一個(gè)文件夾中,方便分類尋找。如下圖所示:
2:打開終端,cd到SDK所在的文件夾下,執(zhí)行如下命令,回車,創(chuàng)建spec文件。
其中,MyTestSDK是你的SDK名稱。
創(chuàng)建出來(lái)的spec文件,是個(gè)很長(zhǎng)的文件,但是大部分都是注釋的,我這里只提取了有用的信息展示出來(lái):
然后把spec中依賴的第三方庫(kù),逐個(gè)加入到項(xiàng)目中的Podfie文件中。然后 終端打開,cd到自己的項(xiàng)目中,pod install即可。
本人親自測(cè)試過(guò)的,No Problem。當(dāng)初感覺(jué)SDK如果依賴了第三方庫(kù),接入的項(xiàng)目中也有同樣的第三方庫(kù),會(huì)不會(huì)沖突啊,感覺(jué)好難搞啊。事實(shí)證明,通過(guò)spec進(jìn)行依賴,可以很好的解決這個(gè)問(wèn)題,也就沒(méi)有那么麻煩了。
首次開發(fā)SDK還是遇到了很多問(wèn)題,運(yùn)行出現(xiàn)很多bug,但是最后還是一一解決了,就是沒(méi)有記錄下bug和解決發(fā)的方法。
1;path路徑不對(duì),就會(huì)報(bào)錯(cuò) ,如下
是因?yàn)槲野崖窂綄懗闪耍?/p>
其實(shí)正確的寫法是:把“/”放在前面
2:SDK中有第三方,但是項(xiàng)目中的Podfile里面沒(méi)有這個(gè)第三方,報(bào)錯(cuò)如下所示:
解決辦法是就是在項(xiàng)目中的 Podfile里面加入缺失的第三方庫(kù),重新 pod install。
框架圖
主要類關(guān)系圖
主要類介紹:
AFURLSessionManager
推薦參考這篇文章 AFNetworking源碼分析 ,從源碼分析角度分析AFNetworking的實(shí)際作用。關(guān)于AF的相關(guān)博文網(wǎng)上非常多,跟著文章指導(dǎo)動(dòng)手實(shí)踐一番,要比只看文章來(lái)的容易點(diǎn)。
在之前文章《圖片緩存框架》內(nèi)容符合SDWebImage的設(shè)計(jì)原理。從SDWebImage學(xué)習(xí)緩存框架的設(shè)計(jì)思路,另外也可以查看YYImageCache也許會(huì)有不同的收獲。推薦文章[《SDWebImage源碼解析
ReactiveCocoa(簡(jiǎn)稱為RAC),是由Github開源的一個(gè)應(yīng)用于iOS和OS開發(fā)的新框架,Cocoa是蘋果整套框架的簡(jiǎn)稱,因此很多蘋果框架喜歡以Cocoa結(jié)尾。
信號(hào) :代表一連串的狀態(tài),RAC中的核心類RACSignal
在狀態(tài)改變時(shí),對(duì)應(yīng)的訂閱者RACSubscriber就會(huì)收到通知執(zhí)行相應(yīng)的指令。 推薦優(yōu)秀的文章
AsyncDisplayKit 是 Facebook 開源的一個(gè)用于保持 iOS 界面流暢的庫(kù)??梢圆榭磧?yōu)秀的博文 AsyncDisplayKit-看云文檔
參考文章
1.AVOSAVOS是目前比較成熟的BAAS服務(wù)商,支持多種客戶端(Android、iOS、其他)的SDK,提供賬號(hào)管理、推送、第三方登錄、自定義API、用戶反饋組件、數(shù)據(jù)統(tǒng)計(jì)等多項(xiàng)功能。以前開發(fā)應(yīng)用常用自己的服務(wù)器搭建PHP或者NodeJS的RESTfulAPI,現(xiàn)在基本都是通過(guò)AVOS實(shí)現(xiàn)API的調(diào)用。類似的BAAS服務(wù)商還有:BMOB2.Testin專注于移動(dòng)端測(cè)試的服務(wù)平臺(tái),可以掌握準(zhǔn)確的崩潰信息。3.FIR/蒲公英應(yīng)用發(fā)布平臺(tái)4.AnySDK第三方SDK快速接入平臺(tái)5.Flurry用戶數(shù)據(jù)分析6.TestFlight遠(yuǎn)程測(cè)試7.FlightPath用戶統(tǒng)計(jì)8.待客統(tǒng)一管理跟蹤用戶。9.七牛云存儲(chǔ)提供大型文件的云存儲(chǔ)服務(wù)10.SendCloud郵件發(fā)送管理系統(tǒng)
網(wǎng)站名稱:ios開發(fā)第三方類庫(kù),ios 第三方庫(kù)
URL鏈接:http://www.rwnh.cn/article44/dsiggee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站收錄、網(wǎng)站制作、網(wǎng)站導(dǎo)航、響應(yīng)式網(wǎng)站、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)