1. AFNetworkinghtml
在衆多iOS開源項目中,AFNetworking能夠稱得上是最受開發者歡迎的庫項目。AFNetworking是一個輕量級的iOS、Mac OS X網絡通訊類庫,如今是GitHub上第三大Objective-C庫。它創建在NSURLConnection、NSOperation等類庫的基礎上,讓不少網絡通訊功能的實現變得十分簡單,所以,許多iOS應用開發都會使用到它。ios
支持HTTP請求和基於REST的網絡服務(包括GET、POST、PUT、DELETE等);git
支持ARC;github
要求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 八、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 八、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廣播內建;
支持IPv四、IPv6;
異步網絡使用GCD和標準套接口;
密碼保護支持;
SSL/TLS加密支持;
快速、高效;
伸縮性強;
大量註釋代碼;
很是容易擴展;
還支持WebDAV。
27. PushSharp
在應用開發中,給App推送通知是很常見的方式。PushSharp正是這樣一個可以實現向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone、Windows 八、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表格、網格,支持新增和刪除網格,動態添加或刪除列表,在表格中加入多行文字、圖片等,支持手勢識別和自定義事件。