經常使用第三方庫

文章來源:http://www.cocoachina.com/ios/20150727/12720.htmlhtml

我熱愛開源,更喜好那些花費寶貴的業餘時間來創造奇蹟的開發者們,感謝他們將本身辛苦勞動的成果無償分享給你們。開源做者和貢獻者們,大家太了不得了,感謝大家所付出的一切。react

鑑於我是收集不全會死星人,這裏我根據我的喜愛選取了一些iOS的開源庫。這些項目的順序徹底隨機,每一個都棒到爆。絕大多數支持CocoaPods,因此將它們添加到你的Xcode項目中只是小事一樁。ios

在本文末尾你能夠找到一個長文慎入版本——一個只包含題目與項目連接的簡單列表。若是你以爲這篇文章有用的話,請把它分享給其餘作iOS開發的小夥伴們,好酒也怕巷子深。git

1. DZNEmptyDataSetgithub

DZNEmptyDataSet算是一個很標準的iOS內建方式,適合用來處理空的table view和collection view。默認狀況下,若是你的table view爲空,屏幕就爲空,這樣一來用戶體驗並不理想。編程

1.jpg

使用這個庫,你只需遵照一些協議,iOS就會自動將collection view處理完善,並將用戶消息以合適美觀的方式顯示出來。每一個iOS項目均可以自動處理,不用再一一費神。網絡

2. PDTSimpleCalendar框架

你的應用須要一個簡單美觀且正常運行的日曆組件嗎?如今有了——PDTSimpleCalendar也許能夠算是iOS最棒的日曆組件了。你能夠在各個方面對它進行定製,不管是運行邏輯仍是外觀方面。編輯器

2.jpg

3. MagicalRecordide

他們都說:Core Data簡潔易用。他們又說:很棒很好用噢。哈?真的嗎,蘋果?添加到各個項目中的大量樣板數據徹底不符合簡潔而易用的標準。更別提添加、移除和更新那一大堆的entities、保存context、按不一樣環境建立不一樣的Core Data堆棧等等。固然,我很喜歡Core Data,可是蘋果然的能夠把它更好地簡化一下——使用MagicalRecord方式。

3.jpg

MagicalRecord就像是給Core Data提供了一層外包裝,隱藏掉全部不相關的東西。若是你曾經使用過active record模式(好比Ruby on Rails),你就知道了。傾情推薦,在應用中使用Core Data的童鞋們可必定要試試。

4. Chameleon

若是你已經看到這裏了,我猜你更有多是個程序猿,而不是設計獅。這裏有個東東很適合你。

4.jpg

Chameleon是一個iOS的色彩框架。它運用現代化flat color將UIColor擴展地很是美觀。咱們還能夠經過它運用自定義顏色建立調色板。它還有不少功用,請瀏覽readme。若是你想要應用美觀的話,必定要把這個庫加到項目裏。

4-2.jpg

5. Alamofire

Alamofire是一個簡潔的網絡庫,用Swift語言編寫。你是否曾經使用過AFNetworking呢?Alamofire是它的小弟。更年輕更時尚,固然(AFNetworking是用Objective-C編寫的)。

5.jpg

若是你須要進行網絡的相關工做,諸以下載、上傳與獲取JSONs等等的話,Alamofire正是你所須要的。GitHub上8000人次推薦,必定不會錯。

6. TextFieldEffects

你不以爲標準的UITextField有些枯燥麼?我也這樣想——來認識一下TextFieldEffects吧!廢話很少說,只要看幾個例子:

6.gif

是啊,都是些簡單的dropin控制器。你甚至能夠在storyboard中使用IBDesignables。

不幸地是:這個庫不支持CocoaPods(若是你來自將來,而這一狀況何時會改變的話,必定要在Twitter上告訴我),可是它支持Carthage。你只管從GitHub上下載項目,把它放入你的workspace就好了。

7. GPUImage

你曾經寫過照相機應用嗎?若是沒有的話,很快你必定會遇到這個庫的。

7.jpg

GPUImage爲咱們提供了一個GPU加速的照相機效果(同時支持照片與視頻),並且處理速度飛快。在App Store中,使用這個庫的應用數以百計。我有一個應用也用到了GPUImage。 它在GitHub上得到了8869個star,並且還在增加。

7-2.jpg

8. iRate

想要在App Store中得到更多評論的最佳方式是什麼?想要回答這個問題,我缺少切實數據,但若是必須猜一下的話,我會建議問問用戶。也許這樣作有點老套——大多開發者如今都有建立定製的應用內置alert。

可是若是你沒有時間,或者不想從頭實現的話,最好用一下iRata。這個就是iRata——一個小型庫——你能夠把它放入項目中,把問卷調查什麼的都忘記吧,iRate會在恰當的時候爲你解決這個問題。

9. GameCenterManager

不管你喜不喜歡單例模式,管理一個GameCenter都比咱們已知的其餘相反模式要好不少。(你的遊戲只有一個GameCenter,對嗎?)

9.jpg

說實話,在iOS上管理GameCenter vanilla並不算難,可是有了這個庫會更簡單也更快。好上加好不是更好麼。

9-2.jpg

我在我一個遊戲中用到了這個,體驗很好。

10. PKRevealController 2

這個要注意,真的很棒!是我最喜好的iOS控件之一。PKRevealController是一個能夠滑動的側邊欄菜單(可向左、向右或者同時向兩側),只需手指輕輕一點(或者按一下按鈕,可是這樣滑動時不夠炫酷)。

10.jpg

我試過一些能夠提供這類控制的其餘庫,而PKRevealController是最棒的。安裝簡便,高度定製且對手勢識別良好。能夠當作一個標準控件用在iOS SDK中。

11. SlackTextViewController

你曾經用過Slack iOS應用嗎?若是你在較大的軟件公司工做,也許會用過。對那些沒用過的人呢?—?Slack使人激動。用到Slack的應用也是這樣,尤爲是用做極佳、定製的文本輸入控制時。這時你有了一個現成可用在應用中的代碼。

自適應文本區域?試一下。

手勢識別、自動填充、多媒體合併?試一下。

快速drop-in解決方案?試一下。

其餘還想要什麼?

12. RETableViewManager

RETableViewManager能夠幫助你進行動態建立與管理table views。它給咱們提供了預約義cells(bool類型、文本、日期等等——請看下面的截圖),可是你還能夠建立自定義views,並與默認視圖一同使用。

12.jpg

左側截圖顯得很是古板!在storyboard中沒有這個庫的時候,你能作的就是這些了,可是有時候代碼比可視化編輯器要好。

13. PermissionScope

用這個庫能夠在詢問用戶前,就告知用戶所需的系統權限,爲用戶帶來更好的體驗。接受度更高—>更多活躍用戶->更高的留存率->數據更好->下載率更高。牆裂推薦pod。

13.jpg

14. SVProgressHUD

這張圖片在正常加載,無需等待過久或者刷新頁面。這正是SVProgressHUD在你的應用中的表現。若是你須要定製化的等待提示器,這個就是了(也許是最好的)。

14.jpg

15. FontAwesomeKit

Font Awesome很棒,有了它你能夠很容易地給項目加字體,使用方式繁多。

15.jpg

16. SnapKit

喜歡自動佈局嗎?固然喜歡!至少在storyboard中建立時會喜歡。 在代碼中純手工建立約束灰常痛苦,但幸運的是咱們有了SnapKit,在board中用上它,你能夠簡單直觀地編寫約束了。

16.jpg

17. MGSwipeTableCell

這是另外一個常見於不少應用中的UI組件,蘋果應該考慮在標準的iOS SDK中加入一些相似的內容。Swipeable表格cell是這個pod的最佳描述,也是最好的。

17.gif

這只是其中三個動畫類型,還有更多變化,請查看readme。

18. Quick

用於Swift中的單元測試(也可用於Objective-C),與Xcode整合在一塊兒。若是你是Objective-C的粉絲,我建議用Specta代替這個,可是對Swift使用者來講,Quick是最佳選擇。

18-1.jpg

18-2.jpg

19. IAPHelper

應用內付費給咱們提供了不少樣本代碼,而這個庫丟掉了那些代碼,將金錢交易相關的大多通用任務作了簡單的封裝。

20. ReactiveCocoa

好吧,這是個小怪物。

ReactiveCocoa並不像列表中其餘庫同樣,它不是小型的drop-in項目。ReactiveCocoa給咱們帶來了一個迥異的編程風格與結構,它是基於信號與數據流的。首先你須要忘掉已知的一切,才能理解它的工做方式。頗有難度,可是價值不斐。

20.jpg

在這裏教ReactiveCocoa有點不合適,可是若是你感興趣的話,我會提供一些好源:

注意:對咱們iOS開發社區的朋友來講,這會是一個稍微有些技術含量的活兒。

21. SwiftyJSON

使Swift的JSON解析變得簡單。

22. Spring

使動畫在簡單性、可連接性與聲明性方面有所提升。

22.jpg

23. FontBlaster

載入定製字體時更簡單。

24. TAPromotee

交叉推廣應用是你能夠免費實現的最佳市場推廣策略之一。使用這個庫作起來很是簡單,不用都不可能——將TAPromotee加入你的podfile中,免費配置與享受更多下載吧。

24.jpg

25. Concorde

你在應用中載入了一堆jpeg嗎?有了Concorde,你能夠用更好的方式來解決,這是一個很大的進步。

25.gif

26. KeychainAccess

管理Keychain接入的小助手。

26.jpg

27. iOS-charts

最後一個,但毫不是最不重要的——iOS圖表庫!很是有用並且美觀,這裏我無需贅言。向下看,你就知道用它能夠作什麼了。

27.jpg

沒錯,一切都變成了drop-in組件了(也許是「code-in組件)。

27-2.jpg

27-3.jpg

不幸的是,它還不支持CocoaPods,因此你得手動把它拽到你的Xcode workspace裏面去。

超長慎入列表:

  1. DZNEmptyDataSet(UI,空表格視圖解算器)

  2. PDTSimpleCalendar(UI,drop-in日曆組件)

  3. MagicalRecord(實施活躍記錄模式的Core      Data助手)

  4. Chameleon(UI,色彩框架)

  5. Alamofire(Swift 網絡)

  6. TextFieldEffects (UI,自定義外觀的文本區域)

  7. GPUImage(快速圖片處理)

  8. iRate(獲取用戶評價)

  9. GameCenterManager(快速管理遊戲中心)

  10. PKRevealController(UI,滑動側邊欄菜單)

  11. SlackTextViewController(UI,高度可定製的自定義文本區域)

  12. RETableViewManager(自動以代碼建立表格視圖)

  13. PermissionScope(UI,預詢問用戶系統權限的友好體驗)

  14. SVProgressHUD (UI,自定義等待進度條)

  15. FontAwesomeKit (快速添加Awesome字體)

  16. SnapKit(在代碼中快速自動佈局)

  17. MGSwipeTableCell (UI,可滑動的表格視圖cell)

  18. Quick(Swift單元測試框架)

  19. IAPHelper(應用內購買助手封裝)

  20. ReactiveCocoa(FRP框架)

  21. SwiftyJSON(Swift JSON庫)

  22. Spring(動畫框架)

  23. FontBlaster(在應用中快速載入個性化字體)

  24. TAPromotee(使用drop-in視圖交叉推廣應用)

  25. Concorde(下載解碼漸進式jpeg)

  26. KeychainAccess(簡便管理keychain)

  27. iOS-charts(美觀的圖表庫)

相關文章
相關標籤/搜索