我愛開源屑柔。
并且我喜歡開發(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’
2. PDTSimpleCalendar
你的app是否需要一個簡單昼伴、好看并且有效的日歷組件呢匾旭?
現(xiàn)在你有了——PDTSimpleCalendar很有可能是最棒的iOS日歷組件。有很多方式來自定義它圃郊,邏輯有效而且好看价涝。
CocoaPods:
pod 'PDTSimpleCalendar'
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'
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'
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'
6. TextFieldEffects
你不覺得標(biāo)準(zhǔn)的UITextField有一點(diǎn)無聊嗎衬浑?我也是——所以對TextFieldEffects說hello吧!我不會寫太多放刨,我只會展示你一些這個庫可以做的例子:
是的工秩,這些就是簡單的易用的控制器。你甚至可以用storyboard里的IBDesignable进统!
不幸的是這個庫不支持CocoaPods(如果你來自未來助币,而這在一些時間之前改變了的話,請在Twitter上讓我知道)螟碎,但它支持Carthage眉菱。你也可以簡單的從GitHub下載項(xiàng)目,并且把它添加到你的workspace里掉分。
Carthage:
github "raulriera/TextFieldEffects"
7. GPUImage
你曾經(jīng)創(chuàng)建過一個攝像機(jī)app嗎俭缓?如果沒有,看完這個庫你就肯定會的酥郭。
GPUImage可能性
GPUImage提供我們一個GPU-accelerated攝像頭效果(圖像和視頻都可以)华坦,熊熊燃燒般的速度。App Store里有幾百個app使用這個庫——其中就有我的一個:
我的一個app中用的GPUImage
GitHub上8869個收藏并且還在持續(xù)增加不从。
CocoaPods:
pod 'GPUImage'
8. iRate
在App Store獲得更多評價最好的方式是什么惜姐?我沒有明確的數(shù)據(jù)來回答這個問題,但如果要我來猜測的話椿息,我會說只要簡單的詢問用戶就可以了载弄。也許這是一個老套的方式——大部分開發(fā)者現(xiàn)在創(chuàng)建自定義的app內(nèi)置提醒——但如果你沒有時間或者不想所有事都從頭做起耘拇,用iRate比不用要好。并且這就是iRate——一個小庫宇攻,你包含在你的項(xiàng)目里并且忘記詢問用戶去評價了——iRate會自動替你完成惫叛,在合適的時間里。
CocoaPods:
pod 'iRate'
9. GameCenterManager
喜歡或討厭一個人逞刷,在這種情況下管理Game Center非常簡單嘉涌,只需要一點(diǎn)我們最著名的反模式的幫助(你的游戲里只有Game Center,對吧夸浅?)
誠實(shí)地說仑最,在iOS里香草管理Game Center并不是那么困難,但用這個庫就是簡單和快速帆喇。更好的是好的敵人警医。
我的一個游戲里就用了它坯钦,真是一個愉悅的體驗(yàn)。
CocoaPods:
pod 'GameCenterManager'
10. PKRevealController 2
這是一個真正的寶石吟温,我最喜歡的iOS控件之一鲁豪。PKRevealController是一個可滑動的側(cè)邊欄(向左律秃、向右或者都可以),用你的手指來滑動(或者只通過點(diǎn)擊按鈕棒动,但這樣就沒有滑動酷了)糙申。
我使用過一些其它庫,提供這種空間迁客,PKRevealController是最好的郭宝。設(shè)置起來很簡單,高度可自定義掷漱,手勢識別非常非常好粘室。它可以在iOS SDK中包含作為一個標(biāo)準(zhǔn)空間,真的卜范。
CocoaPods:
pod 'PKRevealController'
11. SlackTextViewController
你曾經(jīng)用過Slack iOS app嗎衔统?如果你在一個更大的軟件公司工作的話,很有可能回答是。對于沒有這么回答的人——Slack很堅硬锦爵。Slack的iOS app也是舱殿,特別是對于很好的、自定義的文本輸入控件…就是你現(xiàn)在有的——你的app里可以用的代碼险掀!
自增長文本域沪袭?對的。手勢識別樟氢,自動填充冈绊,多媒體粘貼?對的埠啃。簡單的易用的?對的毅该。你還可能需要什么?
CocoaPods:
pod 'SlackTextViewController'
12. RETableViewManager
RETableViewManager會幫助你動態(tài)創(chuàng)建和管理你的table view畏线,都用代碼。它提供我們預(yù)先定義好的cell(布爾型明垢、文本、日期等等溯革。——看下面的截圖)抖单,你也可以創(chuàng)建你的自定義視圖,和默認(rèn)的一起使用羊精。
左側(cè)截圖好老套!
這些你都可以在storybard里做而不需要這個庫的幫忙裸违,但有的時候代碼比可視化編輯器更簡單。
CocoaPods:
pod 'RETableViewManager'
13. PermissionScope
有用的庫怔昨,通過在詢問用戶之前提示用戶需要系統(tǒng)許可帶來更好的用戶體驗(yàn)。高度可接受程度->更多用戶活動使用app->更好的留存->更好的數(shù)據(jù)->更多的下載矮烹。被高度推薦的pod。
CocoaPods:
pod 'PermissionScope'
14. SVProgressHUD
這個圖片正在被正確的加載,不會等很久也不需要刷新頁面跛蛋。這就是SVProgressHUD在你的app里看起來的樣子。如果你需要自定義等待指示此衅,這里就有一個(很有可能就是最好的)骑歹。
CocoaPods:
pod 'SVProgressHUD'
15. FontAwesomeKit
Font Awesome很酷,用這個庫你可以輕松地添加字體到你的項(xiàng)目里最域,并且在多種方式里使用它。
CocoaPods:
pod 'FontAwesomeKit'
16. SnapKit
喜歡auto layout?你應(yīng)該翘魄!
至少在storyboard里創(chuàng)建的時候。
用代碼創(chuàng)建constraints是痛苦的但荤,如果沒有幫助的話呀闻,但幸運(yùn)的是SnapKit在這里蓖康,使用它你可以輕松寫你的constraints蒜焊,聲明方式鳖悠。看看吧卡辰。
CocoaPods:
pod 'SnapKit'
17. MGSwipeTableCell
另一個UI組件,在很多app里都常見萌朱,蘋果應(yīng)該考慮在iOS標(biāo)準(zhǔn)庫里加入類似的東西。可滑動的table cell冒晰,這是這個pod最好的描述。最好的一個蒋情。
這些只是3個動畫種類,還有很多狈谊。探索readme文件。
CocoaPods:
pod 'MGSwipeTableCell'
18. Quick
Swift里的單元測試赎瞎,給Swift(好吧牡辽,要給Objective-C)催享,和Xcode融為一體。如果你是一個Objective-C粉攀涵,我會推薦你Specta而不是這個,但對于Swift Quick很有可能是最好的怒详。
CocoaPods:
pod 'Quick'
19. IAPHelper
app內(nèi)購帶給我們很多陳詞濫調(diào)的代碼,用這個庫就不需要了,把最有關(guān)交易金錢的普遍的任務(wù)從iOS用戶到你的(或者你的公司的)錢包簡單包裝起來鼠渺。
CocoaPods:
pod 'IAPHelper'
20. ReactiveCocoa
好吧拦盹,這里我們有一個小怪獸。
ReactiveCocoa并不是很小、易用的項(xiàng)目地熄,就像這個列表里其它項(xiàng)目一樣。ReactiveCocoa帶給我們一種完全不同的編程方式/結(jié)構(gòu)芯杀,基于值的信號和流端考。這是完全的頭腦風(fēng)暴雅潭,首先你需要忘記你曾經(jīng)學(xué)習(xí)的來理解它是如何工作的。這不是一個簡單的任務(wù)却特,但是是有回報的裂明。
這不是一個合適的地方來教你使用ReactiveCocoa扳碍,但我會給你一些好的資源,如果你感興趣的話夯巷。
Getting Started with ReactiveCocoa
ReactiveCocoa Tutorial - The Definitive Introduction: Part 1/2
CocoaPods:
pod 'ReactiveCocoa'
21. SwiftyJSON
讓Swift里的JSON解析更簡單。
CocoaPods:
pod 'SwiftyJSON'
22. Spring
做動畫更簡單澎怒、可鏈和聲明。
CocoaPods:
pod 'Spring'
23. FontBlaster
在app里加載自定義字體更簡單惧辈。
CocoaPods:
pod 'FontBlaster'
24. TAPromotee
交叉推銷你的app是最棒的銷售策略之一,你可以在它們中免費(fèi)實(shí)現(xiàn)边翁。用這個庫非常簡單,你不再能為自己辯解為什么不用它——增加TAPromotee到你的podfile啊胶,配置趣倾、然后免費(fèi)享受更多下載。
CocoaPods:
pod 'TAPromotee'
25. Concorde
在你的app加載很多JPEG嗎?用Concorde你可以加載地更好看箱锐。有進(jìn)度的方式。
CocoaPods:
pod 'Concorde'
26. KeychainAccess
管理鑰匙串權(quán)限的小幫手庫。
CocoaPods:
pod 'KeychainAccess'
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)注“簡書作者”。