27個iOS開源庫,讓你的開發(fā)坐上火箭吧

我愛開源屑柔。

并且我喜歡開發(fā)者們屡萤,把他們寶貴的私人時間用來創(chuàng)造神奇的東西,然后他們會和其他人分享并且不求回報掸宛。開源作者和貢獻(xiàn)者死陆,你們是最帥的。感謝你們一直以來的工作唧瘾。

所以措译,因?yàn)?a target="_blank" rel="nofollow">我是一個分類整理狂,這是我從iOS開源庫中選出的最喜歡的饰序。這些項(xiàng)目的順序都是隨機(jī)的领虹,全部都很酷。

絕大部分庫是支持CocoaPods的求豫,所以把它們添加到你的Xcode項(xiàng)目中輕而易舉塌衰。

文章的尾部你會看到一個太長不看的版本——一個簡單的列表,只有標(biāo)題和到項(xiàng)目的鏈接蝠嘉。如果你發(fā)現(xiàn)這篇文章是有用的猾蒂,把它和你的iOS開發(fā)者兄弟們分享。好東西需要被傳播是晨。

DZNEmptyDataSet

這本應(yīng)該是iOS中一個標(biāo)準(zhǔn)肚菠、內(nèi)置的解決空table和collection view的方式。默認(rèn)的如果你的table view是空的罩缴,屏幕就是空的蚊逢。但這不是你能提供的最好的用戶體驗(yàn)层扶。

用了這個庫,你只需要遵循一系列協(xié)議烙荷,iOS會優(yōu)雅地接管你的collection view并且會正確镜会、好看地顯示給用戶信息。很明顯终抽,每個iOS項(xiàng)目都應(yīng)該采用戳表。

這是完全可自定義的。

CocoaPods:

pod ‘DZNEmptyDataSet’

GitHub

2. PDTSimpleCalendar

你的app是否需要一個簡單昼伴、好看并且有效的日歷組件呢匾旭?

現(xiàn)在你有了——PDTSimpleCalendar很有可能是最棒的iOS日歷組件。有很多方式來自定義它圃郊,邏輯有效而且好看价涝。

CocoaPods:

pod 'PDTSimpleCalendar'

GitHub

3. MagicalRecord

他們說,Core Data很簡單持舆。他們說色瘩,它很好很簡單。哈哈逸寓,你是認(rèn)真的嗎居兆,蘋果?一頓陳詞濫調(diào)的代碼被添加到每個項(xiàng)目里竹伸,這真的不夠優(yōu)雅和簡單史辙。更不用說添加、移除和更新很多實(shí)體佩伤,保存上下文聊倔,為不同的環(huán)境創(chuàng)建不同的Core Data棧,等等等等生巡。我當(dāng)然很喜歡Core Data耙蔑,但是蘋果真的可以通過一個簡單的好方法來簡化它——MagicalRecord方法。

MagicalRecord的工作就像一個Core Data的包裝孤荣,并且向開發(fā)者隱藏了所有無關(guān)的東西甸陌。如果你曾經(jīng)用過活躍紀(jì)錄模式(例如Ruby on Rails),那你已經(jīng)掌握它了盐股。如果你在app里用Core Data的話真的真心推薦這個庫钱豁。

CocoaPods:

pod 'MagicalRecord'

GitHub

4. Chameleon

如果你讀到了這一點(diǎn),你是一個很好的程序員疯汁,而不是一個設(shè)計師牲尺。這就是為你準(zhǔn)備的。

Chameleon是iOS的一個顏色框架。它用好看谤碳、摩登的扁平化顏色擴(kuò)展了UIColor溃卡。它也給了我們能力來創(chuàng)建調(diào)色板,里面是我們自己定義的顏色蜒简。它可以做很多其他事瘸羡,探索readme文件。如果你想要好看的應(yīng)用程序搓茬,快把這個庫加到你的項(xiàng)目里吧犹赖。

Chameleon基礎(chǔ)扁平化顏色

CocoaPods:

pod 'ChameleonFramework'

GitHub

5. Alamofire

Alamofire是一個用Swift寫的優(yōu)雅的網(wǎng)絡(luò)庫。你曾經(jīng)用過AFNetworking嗎卷仑?ALamofire是它的弟弟峻村。年輕也更有才華,當(dāng)然啦(AFNetworking是用Objective-C寫的)系枪。

需要做網(wǎng)絡(luò)相關(guān)比如下載雀哨、上傳磕谅、獲取JSON等等私爷?Alamofire是為你準(zhǔn)備的。GitHub上8000人的選擇不會錯膊夹。

CocoaPods:

pod 'MagicalRecord'

GitHub

6. TextFieldEffects

你不覺得標(biāo)準(zhǔn)的UITextField有一點(diǎn)無聊嗎衬浑?我也是——所以對TextFieldEffects說hello吧!我不會寫太多放刨,我只會展示你一些這個庫可以做的例子:

是的工秩,這些就是簡單的易用的控制器。你甚至可以用storyboard里的IBDesignable进统!

不幸的是這個庫不支持CocoaPods(如果你來自未來助币,而這在一些時間之前改變了的話,請在Twitter上讓我知道)螟碎,但它支持Carthage眉菱。你也可以簡單的從GitHub下載項(xiàng)目,并且把它添加到你的workspace里掉分。

Carthage:

github "raulriera/TextFieldEffects"

GitHub

7. GPUImage

你曾經(jīng)創(chuàng)建過一個攝像機(jī)app嗎俭缓?如果沒有,看完這個庫你就肯定會的酥郭。

GPUImage可能性

GPUImage提供我們一個GPU-accelerated攝像頭效果(圖像和視頻都可以)华坦,熊熊燃燒般的速度。App Store里有幾百個app使用這個庫——其中就有我的一個:

我的一個app中用的GPUImage

GitHub上8869個收藏并且還在持續(xù)增加不从。

CocoaPods:

pod 'GPUImage'

GitHub

8. iRate

在App Store獲得更多評價最好的方式是什么惜姐?我沒有明確的數(shù)據(jù)來回答這個問題,但如果要我來猜測的話椿息,我會說只要簡單的詢問用戶就可以了载弄。也許這是一個老套的方式——大部分開發(fā)者現(xiàn)在創(chuàng)建自定義的app內(nèi)置提醒——但如果你沒有時間或者不想所有事都從頭做起耘拇,用iRate比不用要好。并且這就是iRate——一個小庫宇攻,你包含在你的項(xiàng)目里并且忘記詢問用戶去評價了——iRate會自動替你完成惫叛,在合適的時間里。

CocoaPods:

pod 'iRate'

GitHub

9. GameCenterManager

喜歡或討厭一個人逞刷,在這種情況下管理Game Center非常簡單嘉涌,只需要一點(diǎn)我們最著名的反模式的幫助(你的游戲里只有Game Center,對吧夸浅?)

誠實(shí)地說仑最,在iOS里香草管理Game Center并不是那么困難,但用這個庫就是簡單和快速帆喇。更好的是好的敵人警医。

我的一個游戲里就用了它坯钦,真是一個愉悅的體驗(yàn)。

CocoaPods:

pod 'GameCenterManager'

GitHub

10. PKRevealController 2

這是一個真正的寶石吟温,我最喜歡的iOS控件之一鲁豪。PKRevealController是一個可滑動的側(cè)邊欄(向左律秃、向右或者都可以),用你的手指來滑動(或者只通過點(diǎn)擊按鈕棒动,但這樣就沒有滑動酷了)糙申。

我使用過一些其它庫,提供這種空間迁客,PKRevealController是最好的郭宝。設(shè)置起來很簡單,高度可自定義掷漱,手勢識別非常非常好粘室。它可以在iOS SDK中包含作為一個標(biāo)準(zhǔn)空間,真的卜范。

CocoaPods:

pod 'PKRevealController'

GitHub

11. SlackTextViewController

你曾經(jīng)用過Slack iOS app嗎衔统?如果你在一個更大的軟件公司工作的話,很有可能回答是。對于沒有這么回答的人——Slack很堅硬锦爵。Slack的iOS app也是舱殿,特別是對于很好的、自定義的文本輸入控件…就是你現(xiàn)在有的——你的app里可以用的代碼险掀!

自增長文本域沪袭?對的。手勢識別樟氢,自動填充冈绊,多媒體粘貼?對的埠啃。簡單的易用的?對的毅该。你還可能需要什么?

CocoaPods:

pod 'SlackTextViewController'

GitHub

12. RETableViewManager

RETableViewManager會幫助你動態(tài)創(chuàng)建和管理你的table view畏线,都用代碼。它提供我們預(yù)先定義好的cell(布爾型明垢、文本、日期等等溯革。——看下面的截圖)抖单,你也可以創(chuàng)建你的自定義視圖,和默認(rèn)的一起使用羊精。

左側(cè)截圖好老套!

這些你都可以在storybard里做而不需要這個庫的幫忙裸违,但有的時候代碼比可視化編輯器更簡單。

CocoaPods:

pod 'RETableViewManager'

GitHub

13. PermissionScope

有用的庫怔昨,通過在詢問用戶之前提示用戶需要系統(tǒng)許可帶來更好的用戶體驗(yàn)。高度可接受程度->更多用戶活動使用app->更好的留存->更好的數(shù)據(jù)->更多的下載矮烹。被高度推薦的pod。

CocoaPods:

pod 'PermissionScope'

GitHub

14. SVProgressHUD

這個圖片正在被正確的加載,不會等很久也不需要刷新頁面跛蛋。這就是SVProgressHUD在你的app里看起來的樣子。如果你需要自定義等待指示此衅,這里就有一個(很有可能就是最好的)骑歹。

CocoaPods:

pod 'SVProgressHUD'

GitHub

15. FontAwesomeKit

Font Awesome很酷,用這個庫你可以輕松地添加字體到你的項(xiàng)目里最域,并且在多種方式里使用它。

CocoaPods:

pod 'FontAwesomeKit'

GitHub

16. SnapKit

喜歡auto layout?你應(yīng)該翘魄!

至少在storyboard里創(chuàng)建的時候。

用代碼創(chuàng)建constraints是痛苦的但荤,如果沒有幫助的話呀闻,但幸運(yùn)的是SnapKit在這里蓖康,使用它你可以輕松寫你的constraints蒜焊,聲明方式鳖悠。看看吧卡辰。

CocoaPods:

pod 'SnapKit'

GitHub

17. MGSwipeTableCell

另一個UI組件,在很多app里都常見萌朱,蘋果應(yīng)該考慮在iOS標(biāo)準(zhǔn)庫里加入類似的東西。可滑動的table cell冒晰,這是這個pod最好的描述。最好的一個蒋情。

這些只是3個動畫種類,還有很多狈谊。探索readme文件。

CocoaPods:

pod 'MGSwipeTableCell'

GitHub

18. Quick

Swift里的單元測試赎瞎,給Swift(好吧牡辽,要給Objective-C)催享,和Xcode融為一體。如果你是一個Objective-C粉攀涵,我會推薦你Specta而不是這個,但對于Swift Quick很有可能是最好的怒详。

CocoaPods:

pod 'Quick'

GitHub

19. IAPHelper

app內(nèi)購帶給我們很多陳詞濫調(diào)的代碼,用這個庫就不需要了,把最有關(guān)交易金錢的普遍的任務(wù)從iOS用戶到你的(或者你的公司的)錢包簡單包裝起來鼠渺。

CocoaPods:

pod 'IAPHelper'

GitHub

20. ReactiveCocoa

好吧拦盹,這里我們有一個小怪獸。

ReactiveCocoa并不是很小、易用的項(xiàng)目地熄,就像這個列表里其它項(xiàng)目一樣。ReactiveCocoa帶給我們一種完全不同的編程方式/結(jié)構(gòu)芯杀,基于值的信號和流端考。這是完全的頭腦風(fēng)暴雅潭,首先你需要忘記你曾經(jīng)學(xué)習(xí)的來理解它是如何工作的。這不是一個簡單的任務(wù)却特,但是是有回報的裂明。

這不是一個合適的地方來教你使用ReactiveCocoa扳碍,但我會給你一些好的資源,如果你感興趣的話夯巷。

Getting Started with ReactiveCocoa

ReactiveCocoa

ReactiveCocoa Tutorial - The Definitive Introduction: Part 1/2

CocoaPods:

pod 'ReactiveCocoa'

GitHub

21. SwiftyJSON

讓Swift里的JSON解析更簡單。

CocoaPods:

pod 'SwiftyJSON'

GitHub

22. Spring

做動畫更簡單澎怒、可鏈和聲明。

CocoaPods:

pod 'Spring'

GitHub

23. FontBlaster

在app里加載自定義字體更簡單惧辈。

CocoaPods:

pod 'FontBlaster'

GitHub

24. TAPromotee

交叉推銷你的app是最棒的銷售策略之一,你可以在它們中免費(fèi)實(shí)現(xiàn)边翁。用這個庫非常簡單,你不再能為自己辯解為什么不用它——增加TAPromotee到你的podfile啊胶,配置趣倾、然后免費(fèi)享受更多下載。

CocoaPods:

pod 'TAPromotee'

GitHub

25. Concorde

在你的app加載很多JPEG嗎?用Concorde你可以加載地更好看箱锐。有進(jìn)度的方式。

CocoaPods:

pod 'Concorde'

GitHub

26. KeychainAccess

管理鑰匙串權(quán)限的小幫手庫。

CocoaPods:

pod 'KeychainAccess'

GitHub

27. iOS-charts

最后但重要的——iOS圖表庫砖第!很簡單和有效放吩,我不會在這兒寫太多——滑動到下面去看在你的app用它可以干嘛。

是的考赛,所有東西都是可用的惕澎,作為一個可放進(jìn)去(好吧,也許是“可寫進(jìn)去”)的組件颜骤。

不幸的是目前還沒有CocoaPods支持唧喉,所以你需要手動拖動項(xiàng)目到你的Xcode workspace中。

所有庫的太長不看列表唆阿,快速訪問:

1.DZNEmptyDataSet[UI, 空table view解決方案]

2.PDTSimpleCalendar[UI, 可放入日歷組件]

3.MagicalRecord[Core Data幫手實(shí)現(xiàn)活動記錄模式]

4.Chameleon[UI, 顏色框架]

5.Alamofire[Swift網(wǎng)絡(luò)]

6.TextFieldEffects[UI, 自定義外觀text fields]

7.GPUImage[快速圖像處理]

8.iRate[獲得用戶評價]

9.GameCenterManager[輕松管理Game Center]

10.PKRevealController[UI, 滑動邊欄]

11.SlackTextViewController[UI, 高度自定義text field]

12.RETableViewManager[用代碼動態(tài)創(chuàng)建table view]

13.PermissionScope[UI, 巧妙的提前問用戶要系統(tǒng)許可]

14.SVProgressHUD[UI, 自定義等待菊花]

15.FontAwesomeKit[輕松地添加酷字體到你的app中]

16.SnapKit[用代碼輕松auto layout]

17.MGSwipeTableCell[UI, 可滑動的table view cells]

18.Quick[Swift 單元測試框架]

19.IAPHelper[app內(nèi)購封裝幫手]

20.ReactiveCocoa[FRP框架]

21.SwiftyJSON[Swift JSON庫]

22.Spring[動畫框架]

23.FontBlaster[輕松在app中加載自定義字體]

24.TAPromotee[在你的app中交叉提示呼巴,置入界面]

25.Concorde[下載和解碼進(jìn)度化JPEGs]

26.KeychainAccess[輕松管理鑰匙串]

27.iOS-charts[漂亮的圖表庫]

感謝閱讀碧磅,真是一個長列表!如果你認(rèn)為創(chuàng)建是有價值的,請分享它挽拂,通過點(diǎn)擊文章下方的分享按鈕——更多人會從中受益察署。并且如果你是一個Meduim用戶瘤礁,請點(diǎn)擊推薦按鈕——它會鼓舞我創(chuàng)建更多iOS開發(fā)文章酝蜒!

One more thing——如果你在讀這篇文章途戒,你很有可能是個iOS開發(fā)者。很多iOS開發(fā)者也是iPhone用戶——所以我有一些你可能感興趣的東西。

我運(yùn)行著一個每周一次手選最好的iOS app和游戲——看看吧入客,我關(guān)注高質(zhì)量并且只挑選酷的app肮帐。連接也會很酷!

你也可以在推特上follow我如绸,我最經(jīng)常討論iOS開發(fā)的地方杨名。

推薦閱讀:

27 places to learn iOS development. Best ones.

52 people every iOS developer should follow on Twitter

文/張嘉夫(簡書作者)

原文鏈接:http://www.reibang.com/p/228535226656

著作權(quán)歸作者所有任柜,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)辰企,并標(biāo)注“簡書作者”。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驼修,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子罕扎,更是在濱河造成了極大的恐慌,老刑警劉巖抡柿,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異虚循,居然都是意外死亡撤逢,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進(jìn)店門说铃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來访惜,“玉大人嘹履,你說我怎么就攤上這事≌龋” “怎么了砾嫉?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵,是天一觀的道長窒篱。 經(jīng)常有香客問我焕刮,道長,這世上最難降的妖魔是什么墙杯? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任配并,我火速辦了婚禮,結(jié)果婚禮上高镐,老公的妹妹穿的比我還像新娘溉旋。我一直安慰自己,他們只是感情好嫉髓,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布观腊。 她就那樣靜靜地躺著,像睡著了一般算行。 火紅的嫁衣襯著肌膚如雪梧油。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天纱意,我揣著相機(jī)與錄音婶溯,去河邊找鬼。 笑死偷霉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的褐筛。 我是一名探鬼主播类少,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼渔扎!你這毒婦竟也來了硫狞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤晃痴,失蹤者是張志新(化名)和其女友劉穎残吩,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倘核,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泣侮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了紧唱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片活尊。...
    茶點(diǎn)故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡隶校,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蛹锰,到底是詐尸還是另有隱情深胳,我是刑警寧澤,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布铜犬,位于F島的核電站舞终,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏癣猾。R本人自食惡果不足惜敛劝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望煎谍。 院中可真熱鬧攘蔽,春花似錦、人聲如沸呐粘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽作岖。三九已至唆垃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間痘儡,已是汗流浹背辕万。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留沉删,地道東北人渐尿。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像矾瑰,于是被迫代替她去往敵國和親砖茸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評論 2 361

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