(zt)IOS開發常用的開源類庫和一些樣本

來源:互聯網
上載者:User
原帖:http://hb.qq.com/a/20111208/001552.htm

  

蘋果的應用程式一般都會用一種優雅的,半透明的進度顯示效果,不過這個API是不公開的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一個替代方案,而且在使用者角度上,實現的效果根本看不出和官方程式有什麼差別。同時還提供了其他附加功能,比如虛擬進展 指示符,以及完成提示資訊。整合到項目裡也很容易,這裡不細談了。

  ASIHttpRequest HTTP Network庫

  iPhone當然也有自己的HTTP Network API,那為什麼要用ASIHttpRequest呢?因為官方的API簡直跟話癆似的,太羅嗦了!ASIHttpRequest庫極大的簡化了網路通 信,提供更先進的工具,什麼檔案上傳工具,重新導向處理工具、驗證工具、等等。只要你手頭的東西跟HTTP有關,用這個絕對能讓你感覺道生活有美好!先看一 段代碼就體會到了。

1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

- ( 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支援

  如果你做的應用和網站伺服器有互動,那就得用到JSON了。但事實上,iOS平台的原生類庫根本就不支援JSON,這就略犀利了吧?不過 JSON架構滿足了你的所有需求,包括一個解析器將JSON字串解析成對象;以及一個產生器從對象產生字串。這個庫根本就是太流行了,JSON提過很 多次了,具體特點就不多講了,所謂“一段代碼勝千言”,下面用一段代碼示範一下吧。

  

1

  2

  3

  4

  5

  6

// 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 詳盡的使用統計

  通過Furry你可以得到應用的使用者人數,使用者活躍度,使用者來源等統計資訊。但是他最厲害的地方是,你可以追蹤應用本身的事件和錯誤記錄,所有這些資料都會在一個類似Google Analytics的介面上顯示,這樣就很容易掌握使用者的行為和出現的問題。

  RegexKitLite Regex支援

  Regex大家都知道。但是iPhone SDK居然當他不存在?這怎麼能忍啊!果斷用RegexKitLite。雖然叫的是Lite,但是功能很full。範例程式碼

  

1

  2

  3

  4

  5

// 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類庫

  大體來講就是iPhone上的Facebook login,完全支援Facebook Graph API和the older REST api

  SDWebImage 簡化網狀圖片處理

  用SDWebImage調用網站上的圖片,跟本地調用內建在應用程式套件裡的圖片一樣簡單。操作也很簡單;

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

  GData client iPhone上所有Google相關服務的類庫

  跟Google相關的,值得一提的是,這個項目很開放。有很多樣本程式供下載。

  CorePlot 2D圖形繪圖器

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

  CThree20 通用iOS庫

  Three20類庫是Facebook自己做的,大而全是他最大的特色。把他整合到已有的項目中可能得費點周折,不過如果一開始你就用上了Three20,尤其是牽扯到很多web相關的項目的時候,你就能深刻體會到神馬叫給力了。

  掃描wifi資訊

  http://code.google.com/p/uwecaugmentedrealityproject/

  http://code.google.com/p/iphone-wireless/

  條碼掃描

  http://zbar.sourceforge.net/iphone/sdkdoc/install.html

  tcp/ip的通訊協議

  http://code.google.com/p/cocoaasyncsocket/

  voip/sip

  http://code.google.com/p/siphon/

  http://code.google.com/p/asterisk-voicemail-for-iphone/

  http://code.google.com/p/voiphone/

  720全景顯示panoramagl

  http://code.google.com/p/panoramagl/

  jabber client

  http://code.google.com/p/ichabber/

  PLBlocks

  http://code.google.com/p/plblocks/

  image processing

  http://code.google.com/p/simple-iphone-image-processing/

  base64編碼解碼

  http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87

  xml解析

  https://github.com/schwa/TouchXML

  安全儲存使用者密碼到keychain中

  https://github.com/ldandersen/scifihifi-iphone

  載入等待特效架構(private api)

  https://github.com/jdg/MBProgressHUD

  下拉重新整理代碼

  https://github.com/enormego/EGOTableViewPullRefresh

  非同步載入圖片並緩衝代碼

  http://www.markj.net/iphone-asynchronous-table-image/

  iphone TTS

  https://bitbucket.org/sfoster/iphone-tts

  OAuth認證

  http://code.google.com/p/oauth/

  http://code.google.com/p/oauthconsumer/

  SFHFKeychainUtils ( GitHub 代碼下載 )

  儲使用者帳號密碼

  Cpp代碼

  #import @interface SFHFKeychainUtils : NSObject { } + (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error; + (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error; + (BOOL

  ) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error; @end

  #import @interface SFHFKeychainUtils : NSObject {}+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;+ (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;+ (BOOL) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;@end

  MGTwitterEngine ( GitHub 代碼下載 )

  Twitter 官方 Objective-C SDK 。

  XAuthTwitterEngine ( GitHub 代碼下載 )

  在 MGTwitterEngine 的基礎之上,專門針對 XAuth 的一套 SDK 。

  EGOImageLoading ( GitHub 代碼下載 )

  通過 EGOImageLoading ,我們能夠更加方便的從伺服器端讀取圖片,並且輕鬆的實現 Memory / Disc 兩個層級的圖片緩衝。

  RegexKitLite – Regular Expression Support (代碼下載)

  iOS Regex工具包。如果你曾經是 web 開發人員,看到這條是不是有種淚流滿面的衝動?

  Cpp代碼 NSString *regEx = @[0-9]{3}-[0-9]{3}-[0-9]{4}; for

  (NSString *match in [textView.text componentsMatchedByRegex:regEx]) { NSLog(@Phone number is %@, match); }

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

  GData client – iPhone library for all of Google’s services (代碼下載)

  這個工具包協助你使用 Objective-C 輕鬆訪問 Google 官方的各種 API 。

  SDWebImage – Simple Web Image Support (代碼下載)

  這個工具包我還真沒用過。看它的介紹,跟我上篇博文介紹的 EGOImageLoading 功能相同。有了它,你的 iOS 應用訪問 web 端的圖片檔案,就和訪問 iPhone 本地的圖片檔案一樣方便。什麼網路連接什麼本機快取你通通都不用再擔心。不過我的疑惑是,為啥 Instagram 沒用 SDWebImage 而用的是 EGOImageLoading ?

  CorePlot – 2D Graph Plotter (代碼下載)

  正琢磨著做個股票行情 app ,但是不知道該用什麼工具繪圖? Core Plot 幫你畫出各種 2D 資料圖。

  Three20 – General iOS Library (代碼下載)

  Facebook 開發出了自己的 iPhone 應用之後,本著普渡蒼生的情懷,索性將自己的 iOS 程式碼程式庫整個給開源了。注意, Three20 已經不只是一個工具包, 而是一個完備的 framework 了。因為它如此完備如此龐大如此複雜, 如果你要將 Three20 搬進自己的項目裡,可能會遇到些麻煩。如果你遇到了麻煩又不知該怎麼解決的話,上Three20 官網看看,也許有你需要的解決方案。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.