本文翻譯自Medium,原作者是Pawe? Bia?ecki,原文
我愛(ài)開(kāi)源。
并且我喜歡開(kāi)發(fā)者們仗岸,把他們寶貴的私人時(shí)間用來(lái)創(chuàng)造神奇的東西,然后他們會(huì)和其他人分享并且不求回報(bào)借笙。開(kāi)源作者和貢獻(xiàn)者爹梁,你們是最帥的。感謝你們一直以來(lái)的工作提澎。
所以,因?yàn)?a target="_blank" rel="nofollow">我是一個(gè)分類(lèi)整理狂念链,這是我從iOS開(kāi)源庫(kù)中選出的最喜歡的盼忌。這些項(xiàng)目的順序都是隨機(jī)的,全部都很酷掂墓。
絕大部分庫(kù)是支持CocoaPods的谦纱,所以把它們添加到你的Xcode項(xiàng)目中輕而易舉。
文章的尾部你會(huì)看到一個(gè)太長(zhǎng)不看的版本——一個(gè)簡(jiǎn)單的列表君编,只有標(biāo)題和到項(xiàng)目的鏈接跨嘉。如果你發(fā)現(xiàn)這篇文章是有用的,把它和你的iOS開(kāi)發(fā)者兄弟們分享吃嘿。好東西需要被傳播祠乃。
DZNEmptyDataSet
這本應(yīng)該是iOS中一個(gè)標(biāo)準(zhǔn)、內(nèi)置的解決空table和collection view的方式兑燥。默認(rèn)的如果你的table view是空的亮瓷,屏幕就是空的。但這不是你能提供的最好的用戶(hù)體驗(yàn)降瞳。
用了這個(gè)庫(kù)嘱支,你只需要遵循一系列協(xié)議,iOS會(huì)優(yōu)雅地接管你的collection view并且會(huì)正確挣饥、好看地顯示給用戶(hù)信息除师。很明顯,每個(gè)iOS項(xiàng)目都應(yīng)該采用扔枫。
這是完全可自定義的汛聚。
CocoaPods:
pod ‘DZNEmptyDataSet’
2. PDTSimpleCalendar
你的app是否需要一個(gè)簡(jiǎn)單、好看并且有效的日歷組件呢茧吊?
現(xiàn)在你有了——PDTSimpleCalendar很有可能是最棒的iOS日歷組件贞岭。有很多方式來(lái)自定義它八毯,邏輯有效而且好看。
CocoaPods:
pod 'PDTSimpleCalendar'
3. MagicalRecord
他們說(shuō)瞄桨,Core Data很簡(jiǎn)單话速。他們說(shuō),它很好很簡(jiǎn)單芯侥。哈哈泊交,你是認(rèn)真的嗎,蘋(píng)果柱查?一頓陳詞濫調(diào)的代碼被添加到每個(gè)項(xiàng)目里廓俭,這真的不夠優(yōu)雅和簡(jiǎn)單。更不用說(shuō)添加唉工、移除和更新很多實(shí)體研乒,保存上下文,為不同的環(huán)境創(chuàng)建不同的Core Data棧淋硝,等等等等雹熬。我當(dāng)然很喜歡Core Data,但是蘋(píng)果真的可以通過(guò)一個(gè)簡(jiǎn)單的好方法來(lái)簡(jiǎn)化它——MagicalRecord方法谣膳。
MagicalRecord的工作就像一個(gè)Core Data的包裝竿报,并且向開(kāi)發(fā)者隱藏了所有無(wú)關(guān)的東西。如果你曾經(jīng)用過(guò)活躍紀(jì)錄模式(例如Ruby on Rails)继谚,那你已經(jīng)掌握它了烈菌。如果你在app里用Core Data的話(huà)真的真心推薦這個(gè)庫(kù)。
CocoaPods:
pod 'MagicalRecord'
4. Chameleon
如果你讀到了這一點(diǎn)花履,你是一個(gè)很好的程序員芽世,而不是一個(gè)設(shè)計(jì)師。這就是為你準(zhǔn)備的诡壁。
Chameleon是iOS的一個(gè)顏色框架捂襟。它用好看、摩登的扁平化顏色擴(kuò)展了UIColor欢峰。它也給了我們能力來(lái)創(chuàng)建調(diào)色板葬荷,里面是我們自己定義的顏色。它可以做很多其他事纽帖,探索readme文件宠漩。如果你想要好看的應(yīng)用程序,快把這個(gè)庫(kù)加到你的項(xiàng)目里吧懊直。
Chameleon基礎(chǔ)扁平化顏色
CocoaPods:
pod 'ChameleonFramework'
5. Alamofire
Alamofire是一個(gè)用Swift寫(xiě)的優(yōu)雅的網(wǎng)絡(luò)庫(kù)扒吁。你曾經(jīng)用過(guò)AFNetworking嗎?ALamofire是它的弟弟室囊。年輕也更有才華雕崩,當(dāng)然啦(AFNetworking是用Objective-C寫(xiě)的)魁索。
需要做網(wǎng)絡(luò)相關(guān)比如下載、上傳盼铁、獲取JSON等等粗蔚?Alamofire是為你準(zhǔn)備的。GitHub上8000人的選擇不會(huì)錯(cuò)饶火。
CocoaPods:
pod 'MagicalRecord'
6. TextFieldEffects
你不覺(jué)得標(biāo)準(zhǔn)的UITextField有一點(diǎn)無(wú)聊嗎鹏控?我也是——所以對(duì)TextFieldEffects說(shuō)hello吧!我不會(huì)寫(xiě)太多肤寝,我只會(huì)展示你一些這個(gè)庫(kù)可以做的例子:
是的当辐,這些就是簡(jiǎn)單的易用的控制器。你甚至可以用storyboard里的IBDesignable鲤看!
不幸的是這個(gè)庫(kù)不支持CocoaPods(如果你來(lái)自未來(lái)缘揪,而這在一些時(shí)間之前改變了的話(huà),請(qǐng)?jiān)赥witter上讓我知道)义桂,但它支持Carthage寺晌。你也可以簡(jiǎn)單的從GitHub下載項(xiàng)目,并且把它添加到你的workspace里澡刹。
Carthage:
github "raulriera/TextFieldEffects"
7. GPUImage
你曾經(jīng)創(chuàng)建過(guò)一個(gè)攝像機(jī)app嗎?如果沒(méi)有耘婚,看完這個(gè)庫(kù)你就肯定會(huì)的罢浇。
GPUImage可能性
GPUImage提供我們一個(gè)GPU-accelerated攝像頭效果(圖像和視頻都可以),熊熊燃燒般的速度沐祷。App Store里有幾百個(gè)app使用這個(gè)庫(kù)——其中就有我的一個(gè):
我的一個(gè)app中用的GPUImage
GitHub上8869個(gè)收藏并且還在持續(xù)增加嚷闭。
CocoaPods:
pod 'GPUImage'
8. iRate
在A(yíng)pp Store獲得更多評(píng)價(jià)最好的方式是什么?我沒(méi)有明確的數(shù)據(jù)來(lái)回答這個(gè)問(wèn)題赖临,但如果要我來(lái)猜測(cè)的話(huà)胞锰,我會(huì)說(shuō)只要簡(jiǎn)單的詢(xún)問(wèn)用戶(hù)就可以了。也許這是一個(gè)老套的方式——大部分開(kāi)發(fā)者現(xiàn)在創(chuàng)建自定義的app內(nèi)置提醒——但如果你沒(méi)有時(shí)間或者不想所有事都從頭做起兢榨,用iRate比不用要好嗅榕。并且這就是iRate——一個(gè)小庫(kù),你包含在你的項(xiàng)目里并且忘記詢(xún)問(wèn)用戶(hù)去評(píng)價(jià)了——iRate會(huì)自動(dòng)替你完成吵聪,在合適的時(shí)間里凌那。
CocoaPods:
pod 'iRate'
9. GameCenterManager
喜歡或討厭一個(gè)人,在這種情況下管理Game Center非常簡(jiǎn)單吟逝,只需要一點(diǎn)我們最著名的反模式的幫助(你的游戲里只有Game Center帽蝶,對(duì)吧?)
誠(chéng)實(shí)地說(shuō)块攒,在iOS里香草管理Game Center并不是那么困難励稳,但用這個(gè)庫(kù)就是簡(jiǎn)單和快速佃乘。更好的是好的敵人。
我的一個(gè)游戲里就用了它驹尼,真是一個(gè)愉悅的體驗(yàn)趣避。
CocoaPods:
pod 'GameCenterManager'
10. PKRevealController 2
這是一個(gè)真正的寶石,我最喜歡的iOS控件之一扶欣。PKRevealController是一個(gè)可滑動(dòng)的側(cè)邊欄(向左鹅巍、向右或者都可以),用你的手指來(lái)滑動(dòng)(或者只通過(guò)點(diǎn)擊按鈕料祠,但這樣就沒(méi)有滑動(dòng)酷了)骆捧。
我使用過(guò)一些其它庫(kù),提供這種空間髓绽,PKRevealController是最好的敛苇。設(shè)置起來(lái)很簡(jiǎn)單,高度可自定義顺呕,手勢(shì)識(shí)別非常非常好枫攀。它可以在iOS SDK中包含作為一個(gè)標(biāo)準(zhǔn)空間,真的株茶。
CocoaPods:
pod 'PKRevealController'
11. SlackTextViewController
你曾經(jīng)用過(guò)Slack iOS app嗎来涨?如果你在一個(gè)更大的軟件公司工作的話(huà),很有可能回答是启盛。對(duì)于沒(méi)有這么回答的人——Slack很堅(jiān)硬蹦掐。Slack的iOS app也是,特別是對(duì)于很好的僵闯、自定義的文本輸入控件…就是你現(xiàn)在有的——你的app里可以用的代碼卧抗!
自增長(zhǎng)文本域?對(duì)的鳖粟。手勢(shì)識(shí)別社裆,自動(dòng)填充,多媒體粘貼向图?對(duì)的泳秀。簡(jiǎn)單的易用的?對(duì)的榄攀。你還可能需要什么晶默?
CocoaPods:
pod 'SlackTextViewController'
12. RETableViewManager
RETableViewManager會(huì)幫助你動(dòng)態(tài)創(chuàng)建和管理你的table view,都用代碼航攒。它提供我們預(yù)先定義好的cell(布爾型磺陡、文本、日期等等”宜——看下面的截圖)坞靶,你也可以創(chuàng)建你的自定義視圖,和默認(rèn)的一起使用蝴悉。
左側(cè)截圖好老套彰阴!
這些你都可以在storybard里做而不需要這個(gè)庫(kù)的幫忙,但有的時(shí)候代碼比可視化編輯器更簡(jiǎn)單拍冠。
CocoaPods:
pod 'RETableViewManager'
13. PermissionScope
有用的庫(kù)尿这,通過(guò)在詢(xún)問(wèn)用戶(hù)之前提示用戶(hù)需要系統(tǒng)許可帶來(lái)更好的用戶(hù)體驗(yàn)。高度可接受程度->更多用戶(hù)活動(dòng)使用app->更好的留存->更好的數(shù)據(jù)->更多的下載庆杜。被高度推薦的pod射众。
CocoaPods:
pod 'PermissionScope'
14. SVProgressHUD
這個(gè)圖片正在被正確的加載,不會(huì)等很久也不需要刷新頁(yè)面晃财。這就是SVProgressHUD在你的app里看起來(lái)的樣子叨橱。如果你需要自定義等待指示,這里就有一個(gè)(很有可能就是最好的)断盛。
CocoaPods:
pod 'SVProgressHUD'
15. FontAwesomeKit
Font Awesome很酷罗洗,用這個(gè)庫(kù)你可以輕松地添加字體到你的項(xiàng)目里,并且在多種方式里使用它钢猛。
CocoaPods:
pod 'FontAwesomeKit'
16. SnapKit
喜歡auto layout伙菜?你應(yīng)該!
至少在storyboard里創(chuàng)建的時(shí)候命迈。
用代碼創(chuàng)建constraints是痛苦的贩绕,如果沒(méi)有幫助的話(huà),但幸運(yùn)的是SnapKit在這里躺翻,使用它你可以輕松寫(xiě)你的constraints,聲明方式卫玖」悖看看吧。
CocoaPods:
pod 'SnapKit'
17. MGSwipeTableCell
另一個(gè)UI組件假瞬,在很多app里都常見(jiàn)陕靠,蘋(píng)果應(yīng)該考慮在iOS標(biāo)準(zhǔn)庫(kù)里加入類(lèi)似的東西。可滑動(dòng)的table cell脱茉,這是這個(gè)pod最好的描述剪芥。最好的一個(gè)。
這些只是3個(gè)動(dòng)畫(huà)種類(lèi)琴许,還有很多税肪。探索readme文件。
CocoaPods:
pod 'MGSwipeTableCell'
18. Quick
Swift里的單元測(cè)試,給Swift(好吧益兄,要給Objective-C)锻梳,和Xcode融為一體。如果你是一個(gè)Objective-C粉净捅,我會(huì)推薦你Specta而不是這個(gè)疑枯,但對(duì)于Swift Quick很有可能是最好的。
CocoaPods:
pod 'Quick'
19. IAPHelper
app內(nèi)購(gòu)帶給我們很多陳詞濫調(diào)的代碼蛔六,用這個(gè)庫(kù)就不需要了荆永,把最有關(guān)交易金錢(qián)的普遍的任務(wù)從iOS用戶(hù)到你的(或者你的公司的)錢(qián)包簡(jiǎn)單包裝起來(lái)。
CocoaPods:
pod 'IAPHelper'
20. ReactiveCocoa
好吧国章,這里我們有一個(gè)小怪獸具钥。
ReactiveCocoa并不是很小、易用的項(xiàng)目捉腥,就像這個(gè)列表里其它項(xiàng)目一樣氓拼。ReactiveCocoa帶給我們一種完全不同的編程方式/結(jié)構(gòu),基于值的信號(hào)和流抵碟。這是完全的頭腦風(fēng)暴桃漾,首先你需要忘記你曾經(jīng)學(xué)習(xí)的來(lái)理解它是如何工作的。這不是一個(gè)簡(jiǎn)單的任務(wù)拟逮,但是是有回報(bào)的撬统。
這不是一個(gè)合適的地方來(lái)教你使用ReactiveCocoa,但我會(huì)給你一些好的資源敦迄,如果你感興趣的話(huà)恋追。
Getting Started with ReactiveCocoa
ReactiveCocoa Tutorial - The Definitive Introduction: Part 1/2
CocoaPods:
pod 'ReactiveCocoa'
21. SwiftyJSON
讓Swift里的JSON解析更簡(jiǎn)單。
CocoaPods:
pod 'SwiftyJSON'
22. Spring
做動(dòng)畫(huà)更簡(jiǎn)單罚屋、可鏈和聲明苦囱。
CocoaPods:
pod 'Spring'
23. FontBlaster
在app里加載自定義字體更簡(jiǎn)單。
CocoaPods:
pod 'FontBlaster'
24. TAPromotee
交叉推銷(xiāo)你的app是最棒的銷(xiāo)售策略之一脾猛,你可以在它們中免費(fèi)實(shí)現(xiàn)撕彤。用這個(gè)庫(kù)非常簡(jiǎn)單,你不再能為自己辯解為什么不用它——增加TAPromotee到你的podfile猛拴,配置羹铅、然后免費(fèi)享受更多下載。
CocoaPods:
pod 'TAPromotee'
25. Concorde
在你的app加載很多JPEG嗎愉昆?用Concorde你可以加載地更好看职员。有進(jìn)度的方式。
CocoaPods:
pod 'Concorde'
26. KeychainAccess
管理鑰匙串權(quán)限的小幫手庫(kù)跛溉。
CocoaPods:
pod 'KeychainAccess'
27. iOS-charts
最后但重要的——iOS圖表庫(kù)焊切!很簡(jiǎn)單和有效扮授,我不會(huì)在這兒寫(xiě)太多——滑動(dòng)到下面去看在你的app用它可以干嘛。
是的蛛蒙,所有東西都是可用的糙箍,作為一個(gè)可放進(jìn)去(好吧,也許是“可寫(xiě)進(jìn)去”)的組件牵祟。
不幸的是目前還沒(méi)有CocoaPods支持深夯,所以你需要手動(dòng)拖動(dòng)項(xiàng)目到你的Xcode workspace中。
所有庫(kù)的太長(zhǎng)不看列表诺苹,快速訪(fǎng)問(wèn):
1.DZNEmptyDataSet[UI, 空table view解決方案]
2.PDTSimpleCalendar[UI, 可放入日歷組件]
3.MagicalRecord[Core Data幫手實(shí)現(xiàn)活動(dòng)記錄模式]
4.Chameleon[UI, 顏色框架]
5.Alamofire[Swift網(wǎng)絡(luò)]
6.TextFieldEffects[UI, 自定義外觀(guān)text fields]
7.GPUImage[快速圖像處理]
8.iRate[獲得用戶(hù)評(píng)價(jià)]
9.GameCenterManager[輕松管理Game Center]
10.PKRevealController[UI, 滑動(dòng)邊欄]
11.SlackTextViewController[UI, 高度自定義text field]
12.RETableViewManager[用代碼動(dòng)態(tài)創(chuàng)建table view]
13.PermissionScope[UI, 巧妙的提前問(wèn)用戶(hù)要系統(tǒng)許可]
14.SVProgressHUD[UI, 自定義等待菊花]
15.FontAwesomeKit[輕松地添加酷字體到你的app中]
16.SnapKit[用代碼輕松auto layout]
17.MGSwipeTableCell[UI, 可滑動(dòng)的table view cells]
18.Quick[Swift 單元測(cè)試框架]
19.IAPHelper[app內(nèi)購(gòu)封裝幫手]
20.ReactiveCocoa[FRP框架]
21.SwiftyJSON[Swift JSON庫(kù)]
22.Spring[動(dòng)畫(huà)框架]
23.FontBlaster[輕松在app中加載自定義字體]
24.TAPromotee[在你的app中交叉提示咕晋,置入界面]
25.Concorde[下載和解碼進(jìn)度化JPEGs]
26.KeychainAccess[輕松管理鑰匙串]
27.iOS-charts[漂亮的圖表庫(kù)]
感謝閱讀,真是一個(gè)長(zhǎng)列表收奔!如果你認(rèn)為創(chuàng)建是有價(jià)值的掌呜,請(qǐng)分享它,通過(guò)點(diǎn)擊文章下方的分享按鈕——更多人會(huì)從中受益坪哄。并且如果你是一個(gè)Meduim用戶(hù)质蕉,請(qǐng)點(diǎn)擊推薦按鈕——它會(huì)鼓舞我創(chuàng)建更多iOS開(kāi)發(fā)文章!
One more thing——如果你在讀這篇文章翩肌,你很有可能是個(gè)iOS開(kāi)發(fā)者模暗。很多iOS開(kāi)發(fā)者也是iPhone用戶(hù)——所以我有一些你可能感興趣的東西。
我運(yùn)行著一個(gè)每周一次手選最好的iOS app和游戲——看看吧念祭,我關(guān)注高質(zhì)量并且只挑選酷的app兑宇。連接也會(huì)很酷!
你也可以在推特上follow我粱坤,我最經(jīng)常討論iOS開(kāi)發(fā)的地方隶糕。
文/張嘉夫(簡(jiǎn)書(shū)作者)
原文鏈接:http://www.reibang.com/p/228535226656
著作權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)站玄,并標(biāo)注“簡(jiǎn)書(shū)作者”掌敬。