該10大iOS開發(fā)者最喜愛的庫由“iOS輔導(dǎo)團(tuán)隊(duì)”成員Marcelo Fabri組織投票選舉而得,參與者包括開發(fā)者團(tuán)隊(duì),iOS輔導(dǎo)團(tuán)隊(duì)以及行業(yè)嘉賓。每個(gè)團(tuán)隊(duì)都要根據(jù)以下規(guī)則選出五個(gè)最好的庫:1)不能投自己寫的庫;2)排除大的架構(gòu),比如游戲類架構(gòu);3)排除不在設(shè)備上運(yùn)行的庫,例如CocoaPods或者Rack::CoreData也排除在外。
最終評(píng)選出了如下10大iOS開發(fā)者最喜愛的庫:
1)SSToolkit
Sam Soffes簡(jiǎn)直就是一個(gè)Objective-C天才,SSToolkit就是個(gè)例子。作者將他在App中實(shí)現(xiàn)的各種各樣的UI效果做成個(gè)代碼庫,方便其他人使用。
- SSToolkit一些基礎(chǔ)的類包括SSCollectionView,SSGradientView
- 從UI部件到便利的Foundation類別都經(jīng)過精心設(shè)計(jì)并記錄在案,幫助開發(fā)者解決一些普遍問題,比如追蹤一款設(shè)備是否有視網(wǎng)膜顯示屏或者是否能剪裁圖片

2)GPUImage
GPUImage一個(gè)功能十分強(qiáng)大又十分易用的圖像處理庫。
- 提供各種各樣的圖像處理濾鏡,并且支持照相機(jī)和攝像機(jī)的實(shí)時(shí)濾鏡
- 是基于GPU的圖像加速,圖像處理速度超快,并且能夠自定義圖像濾鏡
- 支持ARC
不過現(xiàn)在還缺少一些Core Image擁有的一些先進(jìn)功能,比如面部探測(cè)。

濾鏡效果圖
3)SocketRocket
SocketRocket是一個(gè)WebSocket客戶端(WebSocket是適用于Web應(yīng)用的下一代全雙工通訊協(xié)議,被稱為“Web的TCP”,它實(shí)現(xiàn)了瀏覽器與服務(wù)器的雙向通信),采用Object-C編寫。超級(jí)穩(wěn)固又簡(jiǎn)單易用,簡(jiǎn)直就是實(shí)時(shí)應(yīng)用的最佳拍檔。
- SocketRocket遵循最新的WebSocket規(guī)范RFC 6455
- 只有部分比較新的瀏覽器比如Chrome支持這個(gè)庫
- 支持TLS (wss),iOS 4.x系統(tǒng)
- 使用NSStream/CFNetworking(可免費(fèi)享用)、使用ARC
- 采用并行架構(gòu)
- 大部分的工作由后端的工作完成、基于委托編程。無任何UI包依賴。

因?yàn)镾quare,才有了SocketRocket
4)HockeyKit
HockeyKit是一個(gè)iOS Ad-Hoc自動(dòng)更新框架。所有的蘋果店中的App都可以使用它,它能顯著提高整個(gè)Beta測(cè)試過程,分為兩部分:服務(wù)器和客戶端框架。服務(wù)端組件不需要客戶端庫就能單獨(dú)工作。
- 只需在服務(wù)器上安裝一次服務(wù)端,就可以處理bundle identifier不同的多個(gè)應(yīng)用程序(有開發(fā)者強(qiáng)烈建議對(duì)Debug、AdHocBeta和AppStore發(fā)布版使用不同的Bundle identifier)
- 默認(rèn)當(dāng)App啟動(dòng)或喚醒時(shí),客戶端會(huì)從服務(wù)器檢測(cè)更新,用戶可以在設(shè)置對(duì)話框中修改這個(gè)設(shè)置:一天一次或手動(dòng)檢測(cè)更新
- 除了支持iOS,HokeyKit也支持Android平臺(tái),不過Android版還處在Alpha階段,支持OTA及應(yīng)用內(nèi)更新
- 為HockeyKit用戶提供服務(wù)器托管服務(wù)

Beta測(cè)試演示
5)JSONKit
JSONKit是Objective C平臺(tái)上比較常用的JSON數(shù)據(jù)訪問工具。
- JSONKit能在運(yùn)行的情況下與libz.dylib自動(dòng)連接而無須人工連接
- 在解析期間,如果檢測(cè)到有g(shù)zip文件,JSONKit能自動(dòng)解壓
- 速度超快,支持之前的iOS版本(但要注意一點(diǎn),從iOS 5開始,iOS就已經(jīng)有本地JSON解析工具了)
- JSONKit的性能遠(yuǎn)優(yōu)于JSON-Framework(即SBJSON),JSONKit使用起來也非常簡(jiǎn)單,表現(xiàn)性能比蘋果iOS 5.0中的NSJSONSerialization還要好,速度比NSJSONSerialization快上 25% to 40%,已經(jīng)是非常大的一個(gè)差距了

Benchmark測(cè)試結(jié)果圖
6)MagicalRecord
使用Core Data時(shí)會(huì)用到許多引用代碼,讓工作變得很復(fù)雜,讓人有種挫敗感,MagicalRecord的出現(xiàn)就是解決這些問題的。
- 不但能清理Core Data代碼,還可在必要的時(shí)候進(jìn)行NSFetchRequest修改
- 需要iOS 5.0及以上版本,Mac OS 10.7及以上版本
- 使用ARC
- 能利用iCloud同步Core Data商店

7)RestKit
Restkit是一個(gè)開源的Objective-C框架。
- 可在iOS和Mac OS X的Objective-C中與RESTful Web服務(wù)進(jìn)行簡(jiǎn)單交互
- 包含簡(jiǎn)單的HTTP request/response API
- 帶有強(qiáng)大的對(duì)象映射系統(tǒng),用于減少代碼長(zhǎng)度
- RestKit可降低JSON/XML的處理的資源消耗,支持通過SBJSON和YAJL進(jìn)行JSON解析
當(dāng)你的應(yīng)用需要與一個(gè)REST遠(yuǎn)程API整合的時(shí)候,RestKit就會(huì)派上用場(chǎng),幫你減少工作量(教程指導(dǎo))。

添加Restkit
8)TestFlight
要想輕松發(fā)送并公測(cè)應(yīng)用?用TestFlight吧,無須通過iTunes,有人曾經(jīng)整理出了它的三大殺手锏:
- 輕松采集測(cè)試用戶的UDID和iOS 版本、硬件版本,并發(fā)送給開發(fā)者。在接收到開發(fā)者的TestFlight邀請(qǐng)之后,用戶只需拿自己的iPhone即可打開邀請(qǐng)中的鏈接,注冊(cè)賬號(hào),注冊(cè)硬件
- 有了測(cè)試包以后,不用一個(gè)個(gè)發(fā)郵件,只需要將IPA上傳到TestFlight網(wǎng)站,然后勾選合適的測(cè)試用戶,點(diǎn)擊確認(rèn),你就完事了,用戶會(huì)馬上收到TestFlight的更新通知,然后只需在他的iPhone上登錄TestFlight網(wǎng)站,TestFlight就會(huì)自動(dòng)將測(cè)試IPA安裝到他的iPhone上
- 不用擔(dān)心用戶沒有成功安裝,Testfligh能夠給你實(shí)時(shí)反饋?zhàn)钚陆y(tǒng)計(jì)數(shù)據(jù)
現(xiàn)在還推出了桌面App,用起來更快更方便了。

9)MBProgressHUD
蘋果的應(yīng)用程序一般都會(huì)用一種半透明的進(jìn)度顯示效果,不過這個(gè)API是不公開的,因此你要是用了,很可能被踢出AppStore。而MBProgressHUD提供了一個(gè)替代方案,實(shí)現(xiàn)的效果根本看不出和官方程序有什么差別。
- 同時(shí)還提供了其他附加功能,比如虛擬進(jìn)展指示符,以及完成提示信息
- 你也可以安裝其他東西,比如需要顯示的文本,動(dòng)畫,x及y設(shè)置等等,有許多iOS輔導(dǎo)員都在用它,一般用來作應(yīng)用內(nèi)購(gòu)買
- MBProgressHUD適用于任何iOS版本,需要LLVM 3.0及以上編譯器架構(gòu),兼容ARC及非ARC項(xiàng)目,這得取決于蘋果的以下架構(gòu):
- Foundation.架構(gòu)
- UIKit.架構(gòu)
- CoreGraphics.架構(gòu)

透明進(jìn)度效果
10)AFNetworking
AFNetworking是一個(gè)輕量級(jí)的iOS網(wǎng)絡(luò)服務(wù)類庫。它建立在NSURLConnection和NSOperation等類庫的基礎(chǔ)上,讓很多網(wǎng)絡(luò)通信功能的實(shí)現(xiàn)變得十分簡(jiǎn)單。
- 支持HTTP請(qǐng)求和基于REST的網(wǎng)絡(luò)服務(wù)(包括GET、POST、 PUT、DELETE等)
- 支持ARC
- 要求iOS 5.0及以上版本
- 有一些插件擴(kuò)展已有的功能,還有一個(gè)功能齊全的API
- 從URL中獲取JSON特別簡(jiǎn)單,簡(jiǎn)單到什么程度?看下面幾行代碼
- NSURL *url = [NSURL URLWithString:@"https://alpha-api./stream/0/posts/stream/global"];
- NSURLRequest *request = [NSURLRequest requestWithURL:url];
- AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
- NSLog(@"App.net Global Stream: %@", JSON);
- } failure:nil];
- [operation start];
在這10大庫中,AFNetworking是最大贏家,現(xiàn)在是GitHub上第三大Objetive-C庫,iPhone,iPad上很多著名應(yīng)用都使用這個(gè)類庫,是很多人的最愛。
這里把好用的庫整理出來介紹給大家,希望真正能幫到開發(fā)者,讓你們的生活變得更簡(jiǎn)單。