iOS第三方庫介紹

來源:互聯網
上載者:User

標籤:

1. AFNetworking

在眾多iOS開源項目中,AFNetworking可以稱得上是最受開發人員歡迎的庫項目。AFNetworking是一個輕量級的iOS、Mac OS X網路通訊類庫,現在是GitHub上第三大Objective-C庫。它建立在NSURLConnection、NSOperation等類庫的基礎上,讓很多網路通訊功能的實現變得十分簡單,因此,許多iOS應用開發都會使用到它。

 

  • 支援HTTP請求和基於REST的網路服務(包括GET、POST、PUT、DELETE等);

  • 支援ARC;

  • 要求iOS 5.0及以上版本;

  • 有一些外掛程式擴充已有的功能,還有一個功能齊全的API;

  • 從URL中擷取JSON特別簡單。

詳情請參考:AFNetworking官網

2. Three20

Three20原本是iPhone版Facebook中所使用的工具庫,包括相片檢視器等一系列的iPhone UI類集,以及HTTP磁碟緩衝等一些通用工具。後來從Facebook iPhone應用中剝離出來,成為了一個深受開發人員喜愛的通用架構。

 

3. facebook-ios-sdk

此前在“GitHub上最受歡迎的開源項目”Android系列文章(一)中,我們曾介紹過允許開發人員將Facebook整合到Android應用中的Facebook SDK for Android。Facebook SDK for iOS和它一樣,可以讓開發人員將Facebook相關功能整合到自己的iOS App中。

 

Facebook無疑是最成功的SNS社區,如果能夠讓App具有與Facebook整合的功能,那勢必會帶來非常好的效果。Facebook SDK for iOS項目更新頻率很高,想要擷取更多關於樣本、文檔、將SDK整合到App中、原始碼等資訊,可直接登陸Facebook Developers查看。

4. RestKit

Restkit是一個主要用於iOS上網路通訊的開源Objective-C架構,除了發送請求、接受響應這些準系統外,還附帶Core Data,以及將遠程JSON映射為本機物件的功能。

主要特點:

 

  • 可在iOS和Mac OS X的Objective-C中與RESTful Web服務進行簡單互動;

  • 包含簡單的HTTP Request/Response API;

  • 帶有強大的對象映射系統,用於減少代碼長度;

  • RestKit可降低JSON/XML的處理的資源消耗,支援通過SBJSON和YAJL進行JSON解析。

詳情請參考:Restkit

 

5. asi-http-request

ASIHTTPRequest是一款極其強勁的HTTP訪問開源項目,能夠讓簡單的API完成非常複雜的功能,比如非同步請求、隊列請求、GZIP壓縮、緩衝、斷點續傳、進度跟蹤、上傳檔案、HTTP認證。

ASIHTTPRequest適用於基本的HTTP請求,和基於REST的服務之間的互動。使用Objective-C編寫,能夠同時用於Mac OS X和iPhone應用中。

詳情請參考:all-seeing.ASIHTTPRequest

6. cocos2d-x

在《直接拿來用!最火的Android開源項目(一)》中,我們已經非常詳細地介紹了cocos2d-x開源項目。cocos2d-x支援iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、Linux等多個平台。

詳情請參考:cocos2d-x

7. cocos2d-iphone(cocos2d)

cocos2d for iPhone是一個開源架構,用於為iPod Touch、iPhone、iPad及Mac OS X構建2D遊戲、示範程式及其他圖形互動式應用。基於cocos2d設計,使用相同的API,但不同於cocos2d使用Python,cocos2d for iPhone是使用Objective-C實現的。

cocos2d for iPhone主要特性:

 

  • 免費

  • 便於使用

  • 社區支援

詳情請參考:cocos2d-iphone

 

8. cocos2d-iphone(jpsarda)

該項目是對cocos2d for iPhone的擴充。

9. GPUImage

GPUImage是一個基於GPU映像和視頻處理的開源iOS架構。

主要功能如下:

 

  • 提供各種各樣的影像處理濾鏡,並且支援照相機和攝像機的即時濾鏡;

  • GPUImage顧名思義,是基於GPU的映像加速,因此影像處理速度非常快,並且能夠自訂映像濾鏡;

  • 支援ARC。

 

10. MonoGame

MonoGame是一個Microsoft XNA 4.x Framework的開源跨平台實現。此前在Android開源項目系列文章(一)中我們也進行了詳細的介紹

MonoGame支援平台:

 

  • iOS(包括Ritina Display)

  • Android

  • Windows(OpenGL)

  • Mac OS X

  • Linux

  • Windows Store Apps(Windows 8、Windows RT)

  • Windows Phone 8

  • PlayStation Mobile(目前僅支援2D)

  • OUYA

  •  

11. Nimbus

Nimbus是一個開源的iOS架構,比起Three20,Nimbus的文檔更為全面、豐富,能夠實現很多非常炫的介面特效。因此,開發人員可以藉助Nimbus來降低項目設計的複雜度。

12. cheddar-ios

Cheddar是一個簡單即時的工作管理員,Cheddar for iOS是Cheddar的iOS用戶端,通用於iPhone和iPad。

開發人員可以直接登陸App Store下載該應用。

13. ViewDeck

IIViewDeckController能夠實作類別似於Path 2.0 的視圖左右滑動的效果,支援向左或向右順滑的滑動操作。

點選連結,查看視頻示範(常規示範靈敏性示範),注意,需翻&牆的喲。

14. ShareKit

ShareKit是iPhone開發的第三方介面,允許你一鍵分享文字、圖片、網址、檔案等內容到Facebook、Twitter、Delicious、Tumblr、Google Reader等第三方網站上。

詳情請參考:getsharekit

15. GMGridView

GMGridView是一款開源的iOS(iPhone/iPad)表格視圖,允許使用者手勢對錶格單元進行排序,在儲存格需要展示時才進行裝載,這樣極大地提高了表格的效率。其中的伸縮/旋轉/平移手勢能夠讓使用者改變視圖,還能夠實現從CellView到全屏的切換。

詳情請參考:gmoledina

16. QuickDialog

QuickDialog可以協助開發人員快速建立複雜的表單,實現包括登入介面在內的各種樣式的TableView輸入介面,此外,還可以建立帶有多個文本域的表格及項目。

開發人員可以直接登陸QuickDialog官方網站,擷取更多資訊或文檔。

17. appirater

Appirater是一個可以直接使用到任何iPhone應用(iOS4.0及以上)中的開源類,用於提醒使用者在開啟App時,對應用進行評論或打分。

詳情請參考:Appirater group

18. SVProgressHUD

SVProgressHUD能夠實現多種HUD效果,多用於程式正在執行耗時較長的任務,需要使用者等待。除了顯示等待的HUD,還可以顯示命令執行成功或者失敗的HUD。

19. Reader

該項目能夠讓iOS開發人員輕而易舉地在iOS裝置螢幕上顯示PDF檔案。代碼通用,不需要任何XIB(因為所有UI元素都是代碼產生的,具有極大的靈活性),運行於iOS 4.0及其以上版本裝置中,同時還支援所有Retina Display裝置。

支援:

 

  • 諸如iBooks等的文檔導航;

  • 裝置全方位旋轉;

  • 對PDF進行加密(密碼保護);

  • PDF連結(URI及跳轉頁面);

  • PDF旋轉頁面。

 

20. CocoaAsyncSocket

CocoaAsyncSocket提供了十分強大而又易用的Mac OS X及iOS非同步套接庫,支援TCP和UDP,其中,AsyncSocket類是支援TCP的,AsyncUdpSocket是支援UDP的。

AsyncSocket是封裝了CFSocket和CFSteam的TCP/IP socket網路程式庫,提供非同步作業。AsyncUdpSocket是UDP/IP socket網路程式庫,封裝自CFSocket。

21. SSToolkit

SSToolkit可以說是iOS開發人員最常使用的工具類之一,該開源項目提供了一個完整的iOS類庫集合,用於解決iOS開發人員在開發過程中常碰到的一些問題,比如追蹤一款裝置是否具有視網膜顯示屏或是否能剪裁圖片,包含SSCollectionView、SSGradientView、SSSwitch等諸多非常方便的類。

如果想要對SSToolkit作進一步瞭解,可以在iPad/iPhone上使用SSToolkit的Demo應用SSCatalog。擷取更多資訊,可直接登陸S.S. TOOLKIT

22. XMPPFramework

XMPPFramework是一個使用Objective-C編寫的用於Mac/iOS開發的XMPP架構,它提供了一個RFC-3920(XMPP標準)核心實現,通過某些特定工具讀寫XML。XMPPFramework有著非常豐富的建立在模組化架構之上的XEP擴充,開發人員可以將其直接插入到代碼中,使用GCD構成,即使是在非常老舊的iPhone或12核Mac Pro上,它都能高效運轉。

23. MGSplitViewController

為了方面開發,蘋果iOS SDK提供了UISplitViewController用於iPad左右分欄介面顯示,但對於開發人員而言,UISplitViewController使用起來並不方便,在開發過程中,總會遇到許多問題。於是,天才的iOS開發人員Matt Gemmell在GitHub上發起了一個名為MGSplitViewController的開源UISplitView實現,它比蘋果官方UI組件所提供的分欄類功能更加豐富。

最初Matt編寫MGSplitViewController只是為了方便自己使用,但最終Matt決定將其開源,供所有iOS開發人員使用。如果想要瞭解更多關於MGSplitViewController的資訊,可直接登陸Matt Gemmell部落格查看,也可點擊連結,查看視頻示範(需翻&牆)。

24. CocoaLumberjack

CocoaLumberjack集快、簡單、強大、靈活於一身,和log4j等其他非常受開發人員歡迎的日誌架構的概念類似,專為Objective-C設計,用於iOS和Mac,擁有多線程、GCD(如果可用)、無鎖原子操作和Objective-C運行時的動態特性。

25. PSTCollectionView

PSTCollectionView是用於iOS 4.3及其以上版本中的UICollectionView的100%開源API相容替代品。如果想要使用UICollectionView,但仍然需要支援老版本的iOS,那麼這個項目你一定會非常喜歡。如果想要始終使用PSTCollectionView,使用PSTCollectionView作為類名稱即可。

當然,如果你想在iOS 4.3/5.x上使用PSTCollectionView,但在iOS 6上使用UICollectionView,可以在所有UICollectionView類上添加PS,以獲得對老版iOS的自動支援,這樣就可以隨心所欲如你所願地使用PSUICollectionView。

26. CocoaHTTPServer

CocoaHTTPServer是一個用於Mac OS X或iOS應用的輕量級、可嵌入的HTTP伺服器架構。有時候開發人員需要在他們的App中內嵌一個HTTP伺服器。無論是具有遠程監控功能的伺服器應用,還是使用HTTP進行後端通訊的案頭應用,或者是提供無線訪問文檔功能的iOS應用,CocoaHTTPServer都能滿足你的開發要求。

CocoaHTTPServer提供如下功能:

 

  • 支援Bonjour廣播內建;

  • 支援IPv4、IPv6;

  • 非同步網路使用GCD和標準套介面;

  • 密碼保護支援;

  • SSL/TLS加密支援;

  • 快速、高效;

  • 伸縮性強;

  • 大量注釋代碼;

  • 非常容易擴充;

  • 還支援WebDAV。

 

27. PushSharp

在應用開發中,給App推播通知是很常見的方式。PushSharp正是這樣一個能夠實現向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone、Windows 8、BlackBerry(PAP)和Amazon(ADM)等多種作業系統推送訊息通知的開源C#伺服器端庫。

主要特性:

 

  • 支援多平台訊息推送;

  • API能夠很流暢地為不同平台建立通知;

  • 自適應資訊頻道(自動增加或減少訊息連結);

  • 使用非同步代碼,基於Event為導向調用類庫;

  • 100%代碼託管,相容Mono架構;

 

28. HockeyKit

此前在GitHub上“最受歡迎的Android開源項目”系列文章(一)中,我們曾對HockeyKit進行了詳細的介紹。HockeyKit是一個用於iOS和Android下App更新的開發包,無論是iOS還是Android應用開發,它都深受開發人員喜愛。

29. JTRevealSidebarDemo

JTRevealSidebarDemo是一個能夠實作類別似於Facebook用戶端和Path應用的視圖轉場效果的Objective-C庫模板,其目的在於為開發人員提供一個真正靈活的、可重用的解決方案。

JTRevealSidebarDemo可用於iOS 4.3和5.0應用開發,範例程式碼使用ARC構建,但該庫本身則相容ARC和非ARC。

30. PKRevealController

PKRevealController是對ZUUIRevealController的進化,ZUUIRevealController能夠實作類別似於Facebook用戶端的視圖橫向轉場效果。而PKRevealController則是一個iOS視圖控制器的集合,能夠讓你實現多重控制器切換,非常靈活。

 

31. QuincyKit

QuincyKit是一個為iOS和Mac OS X提供的程式崩潰報告管理解決方案,提供用戶端開發包以及基於PHP開發的伺服器平台。

主要功能:

 

  • (自動)向開發人員資料庫發送崩潰報告;

  • 由使用者決定每次崩潰是否發送資料或總是發送;

  • 使用者可對是否選擇提供E-mail地址等額外資訊進行設定;

  • 如果崩潰是已知的,向使用者提供即時反饋,並在接下來的更新中進行修複。

詳情請參考:QuincyKit官網

 

32. PSStackedView

PSStackedView能夠將你的UIViewControllers堆疊起來,實現了類似於Twitter iPad版應用效果的介面,項目發起人Peter Steinberger表示,PSStackedView的靈感正是來自於Twitter iPad的UI。

為了開發非常受歡迎的奧地利TV應用“3MobileTV”的iPad版,Peter創作了PSStackedView,開發人員可以直接登陸App Store下載該應用。PSStackedView可運行在iPad和iPhone上,但相對而言,更適合用在iPad上。

33. Chameleon

作為一名iOS開發人員,你應該對蘋果官方用於開發iPhone、iPod和iPad應用的UIKit架構很熟悉。Chameleon是一個完全獨立的可以直接替代UIKit在Mac OS X上啟動並執行架構,和UIKit唯一的共性就是公用類和方法名稱。在大多數情況下,開發人員不需要改動任何代碼,即可直接在Mac上運行所開發的iOS應用。

Chameleon的原始碼是基於蘋果的文檔而來,並沒有使用到任何私人API或其他未經Mac App Store獲批准的技術。如果想要瞭解更多關於Chameleon的資訊,可直接登陸ChameleonProject網站查看。

34. cocos2d-iphone-extensions

Cocos2D-iPhone-Extensions整合了非常多的優秀的Cocos2D-iPhone引擎第三方擴充。該項目並沒有對Cocos2D進行任何改變,只是將新功能源源不斷地加入到Cocos2D-iPhone-Extensions中,供開發人員使用。

35. DCIntrospect

Introspect是一個很小的iOS工具集,用於協助開發人員對使用UIKit構建的使用者介面進行調試。特別適用於動態建立UI布局、改變運行時,還能通過尋找透明視圖最佳化應用效能,並避免不必要的重繪視圖。

36. PSCollectionView

PSCollectionView是一個能夠實現Pinterest風格的瀑布流視圖顯示效果的iOS滾動組件,可用於類似的UITableView,支援顯示圖片和文字。

項目發起人Peter Shih在自己的iPhone/iPad應用Lunchbox中使用了PSCollectionView原始碼,開發人員可以在App Store中免費下載該應用。

37. SDURLCache

NSURLCache及其子類提供了很多進階介面用於處理緩衝,但如果你想在自己的iPhone應用中通過HTTP請求的方式將緩衝儲存到磁碟中,推薦使用SDURLCache。Peter Steinberger在GitHub上託管的這個SDURLCache項目是Olivier Poitrey的SDURLCache的一個分支,支援iOS 5以下版本系統。

38. FastPdfKit

該開源庫包含著FastPdfKit iOS庫的一些樣本項目。FastPdfKit是一個能夠讓你在iOS應用中顯示PDF文檔的開發類庫,其最大的特點就是載入PDF文檔速度特別快。

詳情請參考:FastPdfKit官網

39. KKGridView

KKGridView是一個高效能的iOS表格組件,但自WWDC 2012大會上蘋果推出了相關的解決方案之後,KKGridView也就逐漸停止使用了。每逢iOS系統更新,iOS開源項目勢必也會發生新一輪的改變,至於在顛覆了蘋果以往設計觀的iOS 7發布之後,iOS開源項目又會發生哪些改變?還要看天才的開發人員們!

40. MGBox2

MGBox2能夠實現非常酷的列表互動效果,使用最少代碼,即可快速建立各種布局效果的iOS表格、網格,支援新增和刪除網格,動態添加或刪除列表,在表格中加入多行文字、圖片等,支援手勢識別和自訂事件。

 

下拉重新整理列表組件SVPullToRefreshSVPullToRefresh 允許你通過一行代碼把下拉重新整理添加至UIScrollView子類別,不需要依賴委託或者子類化UITableViewController。另外,該項目支援簡單自訂文本、箭頭的外觀。這些UIScrollView類別讓下拉重新整理和UIScrollView的無限滾動變得非常簡單,SVPullToRefresh使用Objective-C runtime為UIScrollView添加以下3種方法:- (void)addPullToRefreshWithActionHandler:(void (^)(void))actionHandler;- (void)addPullToRefreshWithActionHandler:(void (^)(void))actionHandler position:(SVPullToRefreshPosition)position;- (void)addInfiniteScrollingWithActionHandler:(void (^)(void))actionHandler;

 

https://github.com/samvermette/SVPullToRefresh

 

網路工具包MKNetWorkKitMKNetworkKit 是一個完全基於 ARC 的網路工具包。支援把上一次請求進行緩衝。MKNetWorkKit吸取了ASIHttpRequest與AFNetWorking的優點,並加入了自己的功能。最新的代碼並未在完全在Mac通過測試,iOS上的測試已經完成。包括Digg在內的多款app使用了該項目。關於更詳細的資訊和教程,你可以到MKNetWorkKit相關部落格上查看。http://blog.mugunthkumar.com/products/ios-framework-introducing-mknetworkkit/ 網路工具包MKNetWorkKitMKNetworkKit 是一個完全基於 ARC 的網路工具包。支援把上一次請求進行緩衝。MKNetWorkKit吸取了ASIHttpRequest與AFNetWorking的優點,並加入了自己的功能。最新的代碼並未在完全在Mac通過測試,iOS上的測試已經完成。包括Digg在內的多款app使用了該項目。關於更詳細的資訊和教程,你可以到MKNetWorkKit相關部落格上查看。http://blog.mugunthkumar.com/products/ios-framework-introducing-mknetworkkit/
UILabel改進版TTTAttributedLabelTTTAttributedLabel是一個文字視圖開源組件,是UILabel的替代元件,可以以簡單的方式展現渲染的屬性字串。另外,還支援連結植入,不管是手動還是使用UIDataDetectorTypes自動把電話號碼、事件、地址以及其他資訊變成連結。支援NSAttributedString,相容iOS 4.3以上系統,自動資料檢測,手動連結植入等。還包括先進的段落樣式:verticalAlignmenttextInsetsfirstLineIndentleadinglineHeightMultipleshadowRadiushighlightedShadowRadius / highlightedShadowOffset / highlightedShadowColortruncationTokenString 網路工具包MKNetWorkKitMKNetworkKit 是一個完全基於 ARC 的網路工具包。支援把上一次請求進行緩衝。MKNetWorkKit吸取了ASIHttpRequest與AFNetWorking的優點,並加入了自己的功能。最新的代碼並未在完全在Mac通過測試,iOS上的測試已經完成。包括Digg在內的多款app使用了該項目。關於更詳細的資訊和教程,你可以到MKNetWorkKit相關部落格上查看。http://blog.mugunthkumar.com/products/ios-framework-introducing-mknetworkkit/轉自:http://www.verydemo.com/demo_c134_i49279.html轉自:http://blog.csdn.net/showhilllee/article/details/16965775

iOS第三方庫介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.