iOS - 轉(zhuǎn)載 - 27 款開源庫絮宁,讓你的開發(fā)溜到飛起

首先, 感謝開發(fā)者們梆暮,他們花費大量寶貴的時間創(chuàng)造出如此驚人的東西,與人分享绍昂,不求回報啦粹。開源作者和貢獻者們令人敬佩。

日常工作中窘游,收藏了一些 iOS 開源庫唠椭,本文我只從中選擇了一部分。這些項目的排序是隨機的忍饰,但是它們都很棒贪嫂。

多數(shù)庫支持CocoaPods,所以很容易把它們加到你的 XCode 項目中喘批。

在文章的底部撩荣,你會發(fā)現(xiàn)一個簡化版本?—就是一個簡單的標題及其鏈接的列表铣揉。如果你覺得這篇文章有用,請分享給你的 iOS 朋友餐曹。好東西需要傳播逛拱。

1. DZNEmptyDataSet

這是?iOS 內(nèi)建的標準,用于處理空表和集合視圖台猴。默認情況下朽合,如果你的表視圖是空的,屏幕上什么也不會顯示饱狂。它給予的用戶體驗還不算最佳曹步。

使用這個庫,你只需要一些協(xié)議休讳,iOS 就會很好地處理集合視圖讲婚,然后合理美觀地顯示出用戶信息。你不需要為每一個 iOS 項目費心俊柔。

DZNEmptyDataSet?-?UITableView/UICollectionView 超類類別筹麸,用于顯示人數(shù)據(jù)集…

2. PDTSimpleCalendar

你的應(yīng)用需要一個好看的日歷組件嗎?現(xiàn)在你有了?—?PDTSimpleCalendar 可以說是最好的 iOS 日歷組件雏婶。你可以通過許多方法定義它物赶,包括工作邏輯和視覺效果。

jivesoftware/PDTSimpleCalendar?- iOS 的簡單的日歷/日期選擇組件留晚,使用 UIColectionView?

3. MagicalRecord

有人說 Core Data 簡單酵紫。也有人說它不僅簡單而且美觀。呵错维,得了吧奖地,說的是蘋果嗎?巨多的封裝代碼被添加到工程里面并不會非常優(yōu)雅和簡單的赋焕,更別提要添加鹉动、刪除和更新如此多的實體、保存上下文宏邮,為不同的環(huán)境創(chuàng)建不同的 Core Data 棧等等等等這些事情了。我當然也很喜歡?Core Data缸血, 但蘋果公司真應(yīng)該用更好的方式把它簡化一下了?—?MagicalRecord 的方式就可以蜜氨。

MagicalRecord 就像是針對 Core Data 的一個封裝,隱藏了所有跟開發(fā)者無關(guān)的東西捎泻。如果你用過動態(tài)記錄模式(例如飒炎, Ruby on Rails 就有用到)的話, 那這個非你莫屬。如果你的應(yīng)用里面也使用到了 Core Data笆豁,那我真的非常非常推薦這個庫郎汪。

magicalpanda/MagicalRecord?- 超贊赤赊,幫助你輕松搞定 Core Data?

4.?Chameleon

如果你正讀到這個,那么比起設(shè)計師煞赢,你可能會是一個更好的程序員抛计。而這個就是為你準備的。

Chameleon 是一個 iOS 的顏色框架照筑。它擴展了 UIColor吹截,加入了漂亮的、現(xiàn)代扁平化風格的顏色凝危。它也讓我們可以從由我們自己定義的顏色創(chuàng)建出調(diào)色板波俄。通過閱讀 readme,你會發(fā)現(xiàn)它還能做很多其它的事情蛾默。如果你想要的是一個漂亮的應(yīng)用程序懦铺,絕對要把這個庫添加到代碼工程里面。

ViccAlexander/Chameleon?- iOS??(Obj-C & Swift)的扁平風格顏色框架

5.?Alamofire

Alamofire 是一個寫在 Swift 上的十分美觀的網(wǎng)絡(luò)文庫支鸡。你有使用過 AFNetwork 嗎冬念?Alamofire 就是它的姐妹版,但 Alamofire?更新穎苍匆,更有型刘急,當然(AFNetwork 是寫在 Objective-C 上的)。

是否還需要做一些網(wǎng)絡(luò)的東西浸踩,例如下載叔汁,上傳,獲取 JSONs 等等呢检碗?Alamofire 已經(jīng)為你準備好了据块。GitHub 上 8000 人的選擇肯定不會錯。

Alamofire/Alamofire?-?Swift中的優(yōu)雅 HTTP 網(wǎng)絡(luò)

6.?TextFieldEffects

你是不是感覺標準的 UIT 文本域有點無聊折剃?我也有這樣的感覺——讓我們來跟 TextFieldEffects 打個招呼吧另假! 我不會寫太多,只是為你展示一些這個文庫可以做到的事例:

是的怕犁,這些是簡單的下拉插入鍵边篮。你甚至可以利用腳本里的 IBDesignables!

raulriera/TextFieldEffects?-?自定義 UITextFields 效果靈感來自 Codrops奏甫,使用 Swift 構(gòu)建.

7. GPUImage

你是否有創(chuàng)建過相機APP的經(jīng)歷戈轿?如果沒有,你一定會在不久之后遇到這個庫的阵子。

GPUImage為我們提供了由GPU加速的相機預(yù)覽效果(包括圖像和視頻)思杯,速度極快。 在App Store有數(shù)百個APP已經(jīng)使用這個庫——我其中的一個也使用了:

我的一個使用GPUImage的APP挠进。

8869 stars on GitHub and still counting.在GitHub上有8869顆星色乾,并且還在不斷增加中誊册。

BradLarson/GPUImage?- An open source iOS framework for GPU-based image and video processing

(GPUImage:iOS上開源的基于GPU的圖像視頻處理框架)

8. iRate

在App Store中獲得更多評論的最好方法是什么? 我沒有實際數(shù)據(jù)來回答這個問題暖璧,但如果我不得不猜測的話案怯,我會說直接去問用戶。也許這么做是一個很老式的方式——大多數(shù)開發(fā)人員現(xiàn)在創(chuàng)建自定義的App提示窗——但如果你沒有時間或你不想一切從頭開始漆撞,最好是使用iRate而不是不用殴泰。iRate是這樣的:一個你可以包含到你的工程中,并且不需要考慮要求用戶評論的小型庫——iRate將會在合適的時機自動完成這個浮驳。

nicklockwood/iRate?- A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it…

(iRate:一個便于使用的類庫悍汛,可用于督促在iPhone、Mac應(yīng)用商店下載并使用你的app用戶給你推薦)

9. GameCenterManager

不管你喜歡或討厭單例子至会,在這里通過我們最熟悉的?anti-pattern?(反模式)管理?Game Center 都是一件非常簡單的事(你的游戲里只有一個Game Center在离咐,不是嗎?)

老實說奉件,vanilla-managing 在 iOS 中管理 Game Center 并不是很難宵蛀,但是使用這個庫就更加簡單和快捷了。好上加好的體驗县貌。

我正在我的一個游戲項目中使用它术陶,它帶給我愉快的體驗。

nihalahmed/GameCenterManager?-?iOS 游戲中心助手singleton

10.PKRevealController 2

這個是我最喜歡的 iOS 控件之一煤痕,它就像一個寶石梧宫。PKRevealController 是一個側(cè)滑的菜單(左,右摆碉,或者同時)塘匣,滑向哪邊是看你的使用習慣(或者僅僅通過一個按鈕,但是這樣看起來并沒有像滑動那樣的 Cool)巷帝。

關(guān)于類似功能忌卤,我嘗試過不少其他的庫,但是 PKRevealController 給我的感覺是最好的,非常簡單的設(shè)置,高度的自定義,手勢的識別非常好。這個真的可以被包括在 iOS 的 SDK 中看疙,作為一個標準庫。

pkluz/PKRevealController?-?第二版本的 iOS 的最流行的視圖控制器容器...

11. SlackTextViewController

你使用過 Slack iOS 的 App 嗎?如果你在一個大型的軟件公司工作,可能答案是肯定的。但也有一些人尚未接觸 Slack脱衙。 Slack 的 iOS App 非常強大侥猬,尤其是它的自定義文本輸入控件...這里有一段代碼例驹,你可在 APP 中使用!

需要自動增長的文本區(qū)域退唠?驗證下鹃锈。需要手勢識別、自動完成瞧预、多媒體粘貼屎债? 驗證下。需要易于方案集成垢油?驗證下盆驹。你還可能需要什么其他功能呢?

slackhq/SlackTextViewController?-?一個插入UIViewController子類與不斷增長的文本輸入視圖和其他有用的消息...?

12. RETableViewManager

RETableViewManager 將幫助您動態(tài)創(chuàng)建和管理表視圖滩愁,自動生成控制代碼躯喇。 它為我們提供了預(yù)定義的單元格(對于 bools,文本硝枉,日期等 - 請查看下面的屏幕截圖)廉丽,但你也可以創(chuàng)建自定義視圖,并支持與默認的視圖一起使用妻味。

所有這些元素正压,你可以在不使用這個庫的前提下在 storyboard 中實現(xiàn)。但有時簡單的代碼比可視化編輯器更好责球。

romaonthego/RETableViewManager??-?強大的數(shù)據(jù)驅(qū)動內(nèi)容管理器UITableView.

13焦履、權(quán)限作用域

該庫通過在請求用戶之前通知用戶有關(guān)所需的系統(tǒng)權(quán)限,以提供更好的用戶體驗棕诵。更高的接受率->更多活躍用戶使用 app->更佳反饋->更好狀態(tài)->更多下載量裁良。鼎力推薦的 pod。

nickoneill/PermissionScope?- 一個 Periscope-啟發(fā)方式來自 iOS 權(quán)限.github.com

14校套、SVProgressHUD

這個圖片展示的是正常下載价脾,不用等到更長時間,也不用刷新頁面笛匙。這就是 SVProgressHUD 在 app 中所呈現(xiàn)的侨把。假如你需要自定義等待提示,這里有一個例子(可能是合適的)妹孙。

TransitApp/SVProgressHUD?- 為 iOS 應(yīng)用程序提供一個干凈秋柄、輕巧的進度 HUD

15. FontAwesomeKit

Font Awesome 是非常優(yōu)秀的,使用這個庫可以簡單地添加字體到你的項目當中蠢正,另外還有很多其它方面的功能骇笔。

PrideChung/FontAwesomeKit?- 適用于 iOS 的圖標字體庫。當前支持?Font-Awesome,Foundation icons笨触,Zocial 和ionicons懦傍。

16. SnapKit

喜歡自動布局(auto layout)?應(yīng)該是芦劣!

至少在?storyboards 中創(chuàng)建的時候是這樣的粗俱。

在沒有幫助的情況下,在代碼上創(chuàng)建約束是痛苦的虚吟,幸運地是用 SnapKit 你可以很方便地通過聲明的方式寸认,來約束你的代碼。來看看吧串慰。

SnapKit/SnapKit?- 一個為 iOS & OSX 系統(tǒng)的快速的自動布局 DSL

17. MGSwipeTableCell

這是另一個在很多應(yīng)用里經(jīng)称看到的 UI 模塊,Apple 也許應(yīng)該考慮將之納入標準的 iOS SDK 里模庐。Swipeable table cell(可擦除式表格單元)——是關(guān)于這個產(chǎn)品最好的描述烛愧。最好的一個。

以上只是3種動畫類型掂碱,還有更多動畫lei'xin怜姿,請查閱Readme。

MortimerGoro/MGSwipeTableCell?- 一個易用的UITableViewCell子類疼燥,允許顯示可擦除式按鈕沧卢,并提供各種...

18. Quick

Swift 里的單元測試,適用于 Swift(好吧醉者,Objective-C 也能用)但狭,已與 Xcode 集成。如果你是 Objective-C 粉撬即,我更推薦Specta立磁,但是對于 Swift 來說,Quick 應(yīng)該是最棒的選擇剥槐。

Quick/Quick?-?Swift(及 Objective-C)的測試框架唱歧。

19. IAPHelper

應(yīng)用內(nèi)置支付給我們帶來大量的樣板代碼,這個庫簡單封裝了大量常見的任務(wù)來擺脫那些樣板代碼粒竖。它封裝功能都是關(guān)于如何將 iOS?用戶的錢送到你(或者你的公司)的錢包颅崩。

saturngod/IAPHelper?-?iOS?的內(nèi)購助手

20. ReactiveCocoa

好啊,這里有一個小怪物蕊苗。

不像這個列表中的其它項沿后,ReactiveCocoa?不小而且不會嵌入項目中。ReactiveCocoa?給我們帶來不同的編程風格/架構(gòu)朽砰,它基于信號和數(shù)據(jù)流尖滚。它令人感覺驚奇喉刘,不過你得先忘掉以前所學的內(nèi)容才能理解它的工作原理。這不是一件容易的事情漆弄,但值得饱搏。

這里并不適合教你 ReactiveCocoa,但是如果你有興趣置逻,我會給你很好的資源:

ReactiveCocoa/ReactiveCocoa?-?一個組成和傳輸數(shù)據(jù)流的框架

21. SwiftyJSON

使得在 Swift 中的JSON?解析更加簡便。

SwiftyJSON/SwiftyJSON?-?在 Swift 中處理 JSON 數(shù)據(jù)的更好方法

22. Spring

使制作動畫變得容易备绽、更具表達性券坞,并且可鏈接。

MengTo/Spring?-?Swift中用于簡化iOS動畫的庫.

23. FontBlaster

簡化自定義字體加載到 APP 的實現(xiàn)肺素。

ArtSabintsev/FontBlaster?- 編程實現(xiàn)在 iOS app 中加載自定義字體.

24. TAPromotee

這是交替宣傳 APP 的最佳營銷策略之一恨锚,它可在 APP 中免費實現(xiàn)。有了這個庫倍靡,一切操作都變得簡單猴伶,你會忍不住想試一試的——添加 TAPromotee 到你的的 podfile 中,配置后塌西,就可以免費享受更多下載量了他挎。

JanC/TAPromotee?- Objective-C 庫,用于互相推薦 iOS 應(yīng)用.

25. Concorde

你是否在 APP 中加載了大量的 JPEG捡需??Concorde 是一種漸進的加載方式办桨,它可以讓圖片以更好看的方式加載出來。

contentful-labs/Concorde?- 解碼 JPEGs 及下載 :iOS

26. KeychainAccess

這是一個小助手庫站辉,用于管理 Keychain 訪問呢撞。

kishikawakatsumi/KeychainAccess?- Simple Swift 包裝器,f適用于 iOS and OS X .

27. iOS-charts

最后同樣重要的是—— iOS 圖表庫饰剥!它非常實用殊霞,也非常優(yōu)雅,因此我不用過于贅述——你只要滾動下頁面汰蓉,就能知道使用這個項目能為你的 app 做些什么绷蹲。

是的,一切都可以當成一個簡單的(也許可稱為“代碼嵌入”)組件使用古沥。

遺憾的是目前還沒有支持 CocoaPods瘸右,所以你需要手工將項目拖動到你的 Xcode 工作區(qū)中。

TL;DR list of all these libraries for quick?access:

DZNEmptyDataSet?[UI,?解決空表顯示]

PDTSimpleCalendar?[UI,?下拉日歷組件]

MagicalRecord?[實現(xiàn)活動記錄模式?的 Core Data?助手]

Chameleon?[UI,?色彩框架]

Alamofire?[Swift?網(wǎng)絡(luò)化]

TextFieldEffects?[UI,?自定義視覺的文本框]

GPUImage?[快速圖像處理]

iRate?[獲得用戶對等級的投票]

GameCenterManager?[易于管理的用戶中心]

PKRevealController?[UI,?側(cè)滑菜單]

SlackTextViewController?[UI,?高度可定制的文本框]

RETableViewManager?[從代碼動態(tài)創(chuàng)建表格視圖]

PermissionScope?[UI,?提前向用戶請求系統(tǒng)權(quán)限]

SVProgressHUD?[UI,?自定義等待圖示]

FontAwesomeKit?[把 Font Awesome?添到項目變得簡單]

SnapKit?[在代碼中簡單地自動布局]

MGSwipeTableCell?[UI,?讓表格視圖的單元格可滑動]

Quick?[Swift?單元測試框架]

IAPHelper?[內(nèi)購助手]

ReactiveCocoa?[FRP框架]

SwiftyJSON?[Swift JSON?庫]

Spring?[動畫框架]

FontBlaster?[在應(yīng)用中簡單地加載自定義字體]

TAPromotee?[通過下拉視圖全方位推廣你的應(yīng)用]

Concorde?[邊下載邊顯示 JPEG?圖像]

KeychainAccess?[密碼管理器]

iOS-charts?[漂亮的圖表庫]

原文地址(中):https://www.oschina.net/translate/27-ios-open-source-libraries-to-skyrocket-your-development

原文地址(英):https://medium.com/app-coder-io/27-ios-open-source-libraries-to-skyrocket-your-development-301b67d3124c#.fvlh0oidk

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末岩齿,一起剝皮案震驚了整個濱河市太颤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盹沈,老刑警劉巖龄章,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吃谣,死亡現(xiàn)場離奇詭異,居然都是意外死亡做裙,警方通過查閱死者的電腦和手機岗憋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锚贱,“玉大人仔戈,你說我怎么就攤上這事∨±龋” “怎么了监徘?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長吧碾。 經(jīng)常有香客問我凰盔,道長,這世上最難降的妖魔是什么倦春? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任户敬,我火速辦了婚禮,結(jié)果婚禮上睁本,老公的妹妹穿的比我還像新娘尿庐。我一直安慰自己,他們只是感情好添履,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布屁倔。 她就那樣靜靜地躺著,像睡著了一般暮胧。 火紅的嫁衣襯著肌膚如雪锐借。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天往衷,我揣著相機與錄音钞翔,去河邊找鬼。 笑死席舍,一個胖子當著我的面吹牛布轿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播来颤,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼汰扭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了福铅?” 一聲冷哼從身側(cè)響起萝毛,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滑黔,沒想到半個月后笆包,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體环揽,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年庵佣,在試婚紗的時候發(fā)現(xiàn)自己被綠了歉胶。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡巴粪,死狀恐怖通今,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肛根,我是刑警寧澤衡创,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站晶通,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏哟玷。R本人自食惡果不足惜狮辽,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望巢寡。 院中可真熱鬧喉脖,春花似錦、人聲如沸抑月。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谦絮。三九已至题诵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間层皱,已是汗流浹背性锭。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留叫胖,地道東北人草冈。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像瓮增,于是被迫代替她去往敵國和親怎棱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容