直接拿來用!最火的iOS開源專案(二)
“每一次的改變總意味著新的開始。”這句話用在iOS上可謂是再合適不過的了。GitHub上的iOS開源專案數不勝數,iOS每一次的改變,總會引發iOS開源專案的演變,從iOS 1.x到如今的iOS 7,有的專案已經被棄用,即使曾經的它很受開發者喜愛,有的專案則繼續發揚光大,新專案更是層出不窮。在本文中,我們將繼續為大家介紹20個在GitHub上非常受開發者歡迎的iOS開源專案,在這些專案中,有哪些是你經常使用的?又有哪些是你曾經使用過的?
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上,它都能高效運轉。
為了方面開發,蘋果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執行時的動態特性。
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應用開發,它都深受開發者喜愛。
JTRevealSidebarDemo是一個能夠實現類似於Facebook客戶端和Path應用的檢視切換效果的Objective-C庫模板,其目的在於為開發者提供一個真正靈活的、可重用的解決方案。
JTRevealSidebarDemo可用於iOS 4.3和5.0應用開發,示例程式碼使用ARC構建,但該庫本身則相容ARC和非ARC。
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網站檢視。
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表格、網格,支援新增和刪除網格,動態新增或刪除列表,在表格中加入多行文字、圖片等,支援手勢識別和自定義事件。
相關文章
- IOS技術分享| ARCallPlus 開源專案(二)iOS
- IOS開源專案iOS
- Android專案中最火最常用的優秀開源專案Android
- 開源之夏:502個專案上線,最火熱的暑期開源活動發車了!
- 2019年最火熱的Golang專案Golang
- 盤點 7 月份比較火的開源專案
- IOS技術分享| anyLive 開源專案iOS
- IOS技術分享| ARCallPlus 開源專案(一)iOS
- GitHub實用開源專案Github
- 如何看待目前最火的github專案996.icuGithub996
- 2018最值得關注的30個vue開源專案Vue
- 開源電子書專案FBReader初探(二)
- 那些年的開源專案,你跑起來了嗎?
- 2018上半年GitHub上最熱門的開源專案Github
- 近期GitHub上最熱門的開源專案(附連結)Github
- Github上最熱門的Java專案終於開源了!GithubJava
- iOS開源專案之日誌框架CocoaLumberjack(未整理版)iOS框架
- python物件導向(二)繼承:最直接的程式碼複用Python物件繼承
- WebSocket 封裝,vue3專案 拿來即用Web封裝Vue
- Android專案篇(二):開源庫及工具的封裝Android封裝
- [譯]過去一個月最 ? 的 10 個 Swift 開源專案Swift
- Spring Boot 2.0 版的開源專案雲收藏來了!Spring Boot
- iOS - 最易用的資料庫工具類 XWDatabase 開源iOS資料庫Database
- 開源專案管理軟體有哪些?分享7個實用開源專案管理軟體專案管理
- 一個檔案的開源專案,開啟你的開源之旅
- 開源專案推薦:提高研發效率的5個開源專案
- 史上最全的iOS開源專案分類彙總沒有之一iOS
- 優化 iOS 專案的構建時間(二)優化iOS
- 有獎活動:pick 你最愛的 AI 專案!拿社群年度大獎!AI
- 2018年最值得關注學習的25個JavaScript開源專案JavaScript
- 推薦10個Java方向最熱門的開源專案(8月)Java
- 開源好專案
- Kubernetes 多叢集在開源專案 KubeSphere 的應用
- 我們分析了近10000個Python開源專案,精選出最實用的Top5!Python
- [.NET專案實戰] Elsa開源工作流元件應用(二):核心解讀元件
- 這個開源組織裡的專案都是精品(第二彈)
- 開源專案分享:ChatGPT 控制檯聊天應用ChatGPT
- OA系統價格太昂貴?來用開源專案搭建一個吧!
- 2018年12月份GitHub上最熱門的Java開源專案GithubJava