iOS高效開發必備的10款類庫

由於iOS SDK相對比較底層,因此開發者就得受累多作一些體力活。不過幸運的是,有不少第三方的類庫能夠用來簡化不少沒必要要的工做.通過做者團隊的慎重討論,他們評選出了10款可以極大提升iOS開發效率的類庫,根據原文做者的評價來看,基本上有了這10款工具,作iOS開發就真的跟泡Cocoa同樣了。 html

MBProgressHUD(進展指示符庫) ios

地址:https://github.com/jdg/MBProgressHUD git

蘋果的應用程序通常都會用一種優雅的,半透明的進度顯示效果,不過這個API是不公開的,所以你要是用了,極可能被清除出AppStore。而 MBProgressHUD提供了一個替代方案,並且在用戶角度上,實現的效果根本看不出和官方程序有什麼差異。同時還提供了其餘附加功能,好比虛擬進展 指示符,以及完成提示信息。整合到項目裏也很容易,這裏不細談了。 github

ASIHttpRequest(HTTP Network庫) web

地址:http://allseeing-i.com/ASIHTTPRequest/ 正則表達式

iPhone固然也有本身的HTTP Network API,那爲何要用ASIHttpRequest呢?由於官方的API簡直跟話癆似的,太羅嗦了!ASIHttpRequest庫極大的簡化了網絡通 信,提供更先進的工具,什麼文件上傳工具,重定向處理工具、驗證工具、等等。只要你手頭的東西跟HTTP有關,用這個絕對能讓你感受道生活有美好!先看一 段代碼就體會到了。 json

- (void) loadAppDevMag    
{    
   NSURL *url = [NSURL URLWithString:@"http://www.appdevmag.com"];    
   ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];    
   [request setDelegate:self];    
   [request startAsynchronous];    
}    
    
- (void)requestFinished:(ASIHTTPRequest *)request    
{    
   // Use when fetching text data    
   NSString *responseString = [request responseString];    
}

JSON Framework(JSON支持) api

地址:http://stig.github.com/json-framework/ 服務器

若是你作的應用和網站服務器有交互,那就得用到JSON了。但事實上,iOS平臺的原生類庫根本就不支持JSON,這就略犀利了吧?不過JSON框 架知足了你的全部需求,包括一個解析器將JSON字符串解析成對象;以及一個生成器從對象生成字符串。這個庫根本就是太流行了,JSON提過不少次了,具 體特色就很少講了,所謂「一段代碼勝千言」,下面用一段代碼演示一下吧。 網絡

// JSON string -> NSDictionary    
    
NSString *jsonString = @"{\"foo\": \"bar\"}";    
    
NSDictionary *dictionary = [jsonString JSONValue];    
    
NSLog(@"Dictionary value for \"foo\" is \"%@\"", [dictionary objectForKey:@"foo"]);    
    
// NSDictionary -> JSON string    
    
NSString *newJsonString = [dictionary JSONRepresentation];

Flurry(詳盡的使用統計)

Flurry

地址:http://www.flurry.com/product/analytics/index.html

Flurry 

經過Furry你能夠獲得應用的用戶人數,用戶活躍度,用戶來源等統計信息。可是他最厲害的地方是,你能夠追蹤應用自己的事件和錯誤記錄,全部這些 數據都會在一個相似Google Analytics的界面上顯示,這樣就很容易掌握用戶的行爲和出現的問題。固然,這個星球上不少統計工具,可是這款是做者我的比較推崇的解決方案。

RegexKitLite(正則表達式支持)

地址:http://regexkit.sourceforge.net/RegexKitLite/

正則表達式你們都知道。可是iPhone SDK竟然當他不存在?這怎麼能忍啊!果斷用RegexKitLite。雖然叫的是Lite,可是功能很full。示例代碼。

// finds phone number in format nnn-nnn-nnnn    
NSString *regEx = @"[0-9]{3}-[0-9]{3}-[0-9]{4}";    
for(NSString *match in [textView.text componentsMatchedByRegex:regEx]) {    
    NSLog(@"Phone number is %@", match);    
}

Facebook iOS SDK(Facebook API類庫)

Facebook iOS SDK

地址:https://github.com/facebook/facebook-ios-sdk

大致來說就是iPhone上的Facebook login,徹底支持Facebook Graph API和the older REST api。若是你的應用跟Facebook有關,相信我,用這個吧。

SDWebImage(簡化網絡圖片處理)

地址:https://github.com/rs/SDWebImage

用SDWebImage調用網站上的圖片,跟本地調用內置在應用包裏的圖片同樣簡單。操做也很簡單,舉例說明

[imageView setImageWithURL:[NSURL URLWithString:@"http://example.com/image.png"]];

相似的功能在Three20裏也有,這個過會再說。相比而言,SDWebImage主要是提供一個小而精的簡捷方便的解決方案

GData client(iPhone上全部Google相關服務的類庫)

地址:http://code.google.com/p/gdata-objectivec-client/

名字就說明一切了。跟Google相關的,值得一提的是,這個項目很開放。有不少示例程序供下載。

CorePlot(2D圖形繪圖儀)

CorePlot

地址:http://code.google.com/p/core-plot/

CorePlot有不少解決方案將你的數據可視。,同時也會提供各類迷人的圖形效果,好比棒狀圖、餅狀圖、線狀圖等等,在他們網站上也提供了大量的範例圖形,不少股票價格應用,遊戲分數,我的財務管理都在用。

Three20(通用iOS庫)

Three20

地址:https://github.com/facebook/three20

Three20

Three20類庫是Facebook本身作的,大而全是他最大的特點。把他整合到已有的項目中可能得費點周折,不過若是一開始你就用上了Three20,尤爲是牽扯到不少web相關的項目的時候,你就能深入體會到神馬叫給力了。

其餘類庫

不管是與Web交互的API、可視化數據、加載網上的圖片或建立一個社會功能的應用程序,這裏列出的庫等功能使開發更容易。若是你是一個iOS開發人員,在你的下一個項目開始以前,你必定要檢查有沒有使用這些庫。

相關文章
相關標籤/搜索