你絕對不想錯過
我喜歡開源店印!
而且我也喜歡那些花費寶貴時間來創(chuàng)造好玩的東西并不求回報地與他人分享這些東西的開發(fā)者。所有為開源做貢獻的人們,你們都太棒了坪它!感謝你們的努力夺英!
下面剧劝,從我日常工作中我自己的APP里陆赋,從我非常喜歡的iOS開源庫里選出一些開源庫肥照,列舉在這里烦衣。以下排名不分先后歹河,因為它們都很不錯掩浙。
這里面絕大部分開源庫都支持CocoaPods,所以秸歧,將它們添加到你的Xcode項目里是輕而易舉的事厨姚。
在文章的最后,你會找到TL;DR(Too long; didn't read.)版本——只有標題和項目超鏈接键菱。如果你覺得這篇文章有用谬墙,請和你的iOS小伙伴分享。好的東西需要傳播经备。
1.DZNEmptyDataSet
這個庫應該內置于iOS SDK中成為標準的處理空表視圖(TableView)和集合視圖(CollectionView)的方法拭抬。使用默認的表視圖,如果你的視圖是空的侵蒙,那么屏幕就是空的造虎。你并不能獲得最好的用戶體驗。
使用這個庫纷闺,你只需要實現(xiàn)幾個協(xié)議累奈,iOS就可以完美恰當?shù)卣故窘o你一個對用戶友好的集合視圖。對每個iOS項目來說都很簡單急但。
CocoaPods:
pod 'DZNEmptyDataSet'
2.PDTSimpleCalendar
想要為你的App添加一個簡單澎媒、好看而且有效的日歷組件嗎?從現(xiàn)在起波桩,你擁有了可能是iOS上最好的日歷組件——PDTSimpleCalendar戒努。
CocoaPods:
pod 'PDTSimpleCalendar'
3.MagicalRecord
有人說,Core Data很簡單镐躲。也有人說储玫,它很好用也很簡單。呵呵萤皂,說的是蘋果產(chǎn)品嗎撒穷?成千上萬的范例代碼添加到哪個項目都不是優(yōu)雅且簡單的。還別說添加裆熙、刪除端礼、更新一大堆的實例、保存上下文入录、創(chuàng)建為不同的環(huán)境不同的Core Data堆棧等等蛤奥。我當然非常喜歡Core Data,但是蘋果真的可以用一種稍微好一點的方式——MagicalRecord的方式——簡化它僚稿。
MagicalRecord的工作方式像將Core Data封裝起來凡桥,將所有與開發(fā)者不相關的東西隱藏掉。如果你在你的App中使用了Core Data蚀同,真誠地推薦你使用這個庫缅刽。
CocoaPods:
pod 'MagicalRecord'
4.Chameleon
如果你正在閱讀這篇文章啊掏,你可能是一個比設計師更出色的工程師。這個庫合適你衰猛。
Chameleon是一個iOS色彩框架.它在UIColor的基礎上脖律,擴展出漂亮的、現(xiàn)代的腕侄、扁平化的顏色小泉。它也可以根據(jù)我們自定義的顏色創(chuàng)建出選色板。它還可以做很多事情冕杠,從Readme中去發(fā)現(xiàn)吧微姊。如果你想使你的App變漂亮,絕對要將這個庫添加到你的項目中分预。
CocoaPods:
pod 'ChameleonFramework'
5.Alamofire
Alamofire是一個用Swift寫的出色的網(wǎng)絡連接庫兢交。你應該一直都在使用AFNetworking吧?Alamofire是它的親兄弟笼痹。年輕但是更時髦配喳,當然(AFNetworking是用Objective-C寫的)。
你需要完成網(wǎng)絡任務如:下載凳干、上傳晴裹、獲取JSON數(shù)據(jù)等?Alamofire適合你救赐。GitHub8000人的選擇不會錯涧团。
CocoaPods:
pod 'Alamofilre'
6.TextFiledEffects
你有沒有覺得標準的UITextField有一點枯燥?我也是這樣認為的经磅,那么泌绣,來認識一下TextFiledEffects吧!我不會寫太多预厌,只給你們展示一下這個庫能完成的例子:
當然阿迈,只要拖拽進控制器就行。你甚至可以在storyboard中當作IBDesignables使用轧叽。
CocoaPods:
pod 'TextFiledEffects'
Carthage:
github "raulriera/TextFiledEffects"
7.GPUImage
你有開發(fā)過相機應用嗎苗沧?如果沒有,在見識這個庫之后你一定會嘗試的犹芹。
GPUImage提供給我們一個GPU(圖形處理單元)加速的相機效果(圖片和視頻都可以)崎页,速度超快鞠绰!App Store里有幾百個app使用了這個庫——我的其中一個也使用了:
在GitHub上有8869顆星腰埂,而且還在增加。
CocoaPods:
pod 'GPUImage'
8.iRate
在App Store中獲得更多評論的最好方法是什么蜈膨?我并沒有足夠的數(shù)據(jù)能回答這個問題屿笼,但是如果要我說牺荠,我可能會說問問用戶就好啦。這可能是有點老派的方式了——現(xiàn)在很多開發(fā)者在App中創(chuàng)建自定義提示——但是如果你沒有時間或者不想從取消實現(xiàn)任何方法驴一,那最好是使用iRate休雌。iRate具體可以是——一個小型的,你把它添加到你的項目中并且你忘了要求用戶評價時——iRate可以幫你在合適的時機提示用戶評價的庫肝断。
CocoaPods:
pod 'iRate'
9.GameCenterManager
你喜歡或者討厭單例杈曲,但是這種情況下,在我們最熟悉的反模式的幫助下管理Game Center是很簡單的(在你的游戲中只有一個Game Center吧胸懈?)担扑。
老實說,vanilla-managing在iOS中管理游戲中心并不難趣钱,但是使用這個庫只會更方便快捷涌献。而且更好是好的對立面。
我在我的一個游戲中正在使用它首有,而且很好用燕垃。
CocoaPods:
pod 'GameCenterManager'
10.PKRevealController2
這是一塊寶石,我最喜歡的iOS控制模塊之一井联。PKRevealController2可以滑動的側邊菜單(左右都可以)卜壕,往哪邊滑取決你的手指(或者通過點擊按鈕,但是那樣并沒有滑動操作那樣酷)
我嘗試過其他提供類似功能的庫烙常,PKRevealController是最好的印叁。設置非常簡單,高度自定義军掂,手勢識別非常好轮蜕。我覺得可以作為iOS SDK的標準庫,真的蝗锥!
CocoaPods:
pod 'PKRevealController'
11.SlackTextViewController
你使用Slack iOS應用嗎跃洛?如果你在一家大一點軟件公司,你可能用過终议。對于還沒有在自己的app中使用過的人來說——Slack很難汇竭。而Slack的iOS程序也很難,特別是對于很棒的穴张、自定義的文本輸入控制…细燎,這種情況下,準備好在你的程序中使用這些代碼吧皂甘!
自動增加文本區(qū)域玻驻?可以。手勢識別,自動填充璧瞬,多媒體復制户辫?可以。簡單的拖拽方案嗤锉?可以你還需要什么功能呢渔欢?
CocoaPods:
pod 'SlackTextViewController'
12.RETableViewManager
RETableViewManager可以幫助你用代碼動態(tài)創(chuàng)建和管理表格視圖。它已經(jīng)幫我們定義了一些表格(bool值瘟忱、文本奥额、日期等,看下圖)访诱,但你也可以自定義視圖與默認的一起使用披坏。
如果沒有這個庫棒拂,你可以在storyboard上也能完成,但是有時候代碼比可視操作更好玫氢。
CocoaPods:
pod 'RETableViewManager'
13.PermissionScope
這是一個好用的庫帚屉,它通過在需要系統(tǒng)權限之前提示征求用戶允許提升用戶體驗。更高的授受度->用戶更高的使用率->更好的保留度->更好的統(tǒng)計->更多的下載量漾峡。高度推薦的庫攻旦。
CocoaPods:
pod 'PermissionScope'
14.SVProgressHUD
這個圖片出現(xiàn)很合適,不用等太久也不要刷新頁面生逸。這就是SVProgressHUD在你的App中的樣子牢屋。如果你需要自定義指示器,你可以用它(可能是最好的)槽袄。
CocoaPods:
pod 'SVProgressHUD'
15.FontAwesomeKit
Font Awesome 真的很棒烙无!用這個庫,你可以非常方便的在你的項目中添加字體而且在很多方面都可以用它遍尺。
CocoaPods:
pod 'FontAwesomeKit'
16.SanpKit
你喜歡自動布局截酷?應該喜歡!
至少在storyboard中喜歡
如果沒有一些輔助使用代碼構造一個好的布局是非常痛苦的乾戏,但幸運的是迂苛,SnapKit可以讓代碼布局變得簡單,易懂鼓择。
CocoaPods:
pod 'SnapKit'
MGSwipeTableCell
另一個用戶界面組件三幻,在許多應用程序中都很常見,蘋果應該可以考慮把一些相似的東西添加到標準iOS SDK中呐能。
這里只有三種動畫類型念搬,實際還有更多。在Readme中去發(fā)現(xiàn)吧。
CocoaPods:
pod 'MGSwipeTableCell'
18.Quick
Swift中的單元測試(對Objective-C也可以)锁蠕,集成了Xcode夷野。如果你是Objective-C的粉絲懊蒸,我會向你推薦Specta荣倾,但是,對于Swift來說骑丸,Quick是最好的選擇舌仍。
CocoaPods:
pod 'Quick'
19.IAPHelper
App內購給我們帶來了很多示例代碼,這個庫都不沒有使用通危,而是給我們一個簡單常用的與用戶與你(你的公司)交易相關任務封裝铸豁。
CocoaPods:
pod 'IAPHelper'
20.ReactiveCocoa
好吧,我們遇到一個大家伙菊碟。
ReactiveCocoa并不一個小型的节芥,拖拽項目,不像列表中的其他項目逆害。ReactiveCocoa給我們帶來了一種完全不同的基于信號值與流值的編程方式/結構它會讓你的大腦爆炸头镊,一開始,你需要忘掉你已經(jīng)學過的來理解它是怎樣工作的魄幕。這并不輕松相艇,但回報頗豐。
這里不適合開始學習ReactiveCocoa纯陨,但是如果你感興趣坛芽,以下資源你可以參考:
- Getting Started with ReactiveCocoa
- 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
輕輕松松向你的程序中添加自定義字體阴颖。
CocoaPods:
pod 'FontBlaster'
24.TAPromotee
交叉推廣你的應用程序是最好的市場策略之一臭墨,現(xiàn)在你可以免費實現(xiàn)它們了。使用這個庫很簡單膘盖,你再也不用證明不這樣做——添加TAPromotee到你的Podfile,設置好免費等著更多的下載量吧胧弛。
CocoaPods:
pod 'TAPromotee'
25.Concorde
你有在你的應用程序中顯示過很多JPEG圖片嗎?使用ConCorde庫侠畔,你可以用更好看的方式完成结缚。帶進度的方式。
CocoaPods:
pod 'Concorde'
26.KeychainAccess
管理Keychain訪問的小幫手软棺。
CocoaPods:
pod 'KeychainAccess'
27.iOS-charts
最后一個红竭,也是最重要的一個——iOS圖表庫!非常實用而且好看,我不會寫太多——向下翻查看可以用這個庫在你的App里做什么吧茵宪!
是的最冰,所有圖表者是可以拖拽(或者“寫代碼”)的組件。
不幸的是稀火,這個庫現(xiàn)在還不支持CocoaPods暖哨,因此,你需要手動將這個項目拖拽到你的Xcode項目中去凰狞。
--
TL;DR篇裁,快速訪問以上所有庫的列表:
1.DZNEmptyDataSet[用戶界面,空表格視圖解決方案]
2.PDTSimpleCalendar[用戶界面赡若,拖拽日歷控件]
3.MagicalRecord[Core Data實現(xiàn)活躍記錄模式幫手]
4.Chameleon[用戶界面达布,色彩框架]
5.Alamofire[Swift網(wǎng)絡框架]
6.TextFieldEffects[用戶界面,自定義文本框外觀]
7.GPUImage[快速圖形處理]
8.iRate[獲得用戶評論]
9.GameCenterManager[方便管理GameCenter]
10.PKRevealController[用戶界面逾冬,側滑菜單]
11.SlackTextViewController[用戶界面黍聂,高度自定義文本框]
12.RETableViewManager[代碼動態(tài)創(chuàng)建列表視圖]
13.PermissionScope[用戶界面,友好的系統(tǒng)權限獲取請求]
14.SVProgressHUD[用戶界面身腻,自定義等待指示器]
15.FontAwesomeKit[添加字體到你的項目更簡單]
16.SnapKit[代碼布局更方法]
17.MGSwipeTableCell[用戶界面产还,可以滑動的表格行]
18.Quick[Swift單元測試框架]
19.IAPHelper[應用程序內購封裝]
20.ReactiveCocoa[FRP框架]
21.SwfityJSON[Swift JSON庫]
22.Spring[動畫框架]
23.FontBlaster[在程序中快速添加自定義字體]
24.TAPromotee[使用拖拽視圖交叉推廣你的程序]
25.Concorde[圖片下載解碼進度條]
26.KeychainAccess[管理Keychain更簡單]
27.iOS-charts[好看的圖表庫]
感謝您閱讀這一份長長的列表!如果你覺得這篇文章有價值霸株,請點擊文章下面的分享按鈕將文章分享出去雕沉。**——將會有更多的人受益∪ゼ——這將會激勵我寫更多的關于iOS開發(fā)的文章坡椒。
我平日都在寫Ecler Studios的程序——隨時來查看我的App
我通常把iOS開發(fā)相關的發(fā)到Twitter上,你也可以關注我
推薦閱讀:
27 places to learn iOS Development. Bets ones.
52 people every iOS developer shold follow on Twitter.
關鍵字: iOS 開發(fā)
iOS
蘋果
感謝大家看我的翻譯尤溜,如果有翻譯不正確的地方倔叼,希望大家可以指出來。
郵件:anar0615@sina.com
微博:Mr_龍0615