33 款主宰 2017 iOS 開發的開源庫

1、IGListKit
https://github.com/Instagram/IGListKit


由 Instagram 開發人員制作,IGListKit 是用于構建快速靈活列表的數據驅動型的 UICollectionView 框架。

此外,它可以幫助你在應用程序中避免大量使用視圖控制器的情況。可查看 Ray Wenderlich 上的關于在你的項目中實現該庫的教程,或者從 Rodrigo Cavalcante 中看看關于將現有的 UITableView 遷移到 IGListCollectionView 的方法。

2、Realm
https://github.com/realm/realm-cocoa


Realm 是一款移動數據庫,可直接運行在手機、平板電腦和可穿戴設備中,它不僅適用于 iOS。

如果你想嘗試與 Core Data 不同的東西,可以試試使用 Realm 。許多人說,它是一種現代化的、高效率的用于原生蘋果解決方案的替代物。

3、Moya
https://github.com/Moya/Moya


Moya 是你的應用程序所缺少的網絡層。你不用思考將網絡請求放到哪里(以及如何放),Moya 會幫你處理這些問題。

4、SwiftyJSON
https://github.com/SwiftyJSON/SwiftyJSON
Swift 中的 JSON 解析之王。

將下面內容:


轉換為這種格式:


可選封裝會自動為你完成。

5、Valet
https://github.com/square/Valet
Valet 可以幫助你實現將數據安全地存儲在 iOS 或 OS X Keychain 中,而無需了解任何 Keychain 相關的工作原理。它支持在單個設備上的多個應用程序(同一開發者)之間共享數據,并在具有 iCloud 的設備上的實現跨設備的數據共享。它還支持 Touch ID。

6、Firebase Analytics
https://firebase.google.com/docs/analytics/ios/start


它(由 Google 出品)可能是 iOS 上最好的免費分析解決方案。包括跟蹤應用程序使用量、用戶活躍度,以及事件;設置用戶屬性;創建自定義受眾;和一些其他功能。

7、AsyncDisplayKit
https://github.com/facebook/AsyncDisplayKit


Facebook 為他們的 app Paper創造了這個異步 UI SDK。如果你想讓你的 app 總是每秒用 60 幀的速度來渲染,一定要看看這個庫。 這兒有一篇來自 Buffer 團隊的故事。

8、DZNEmptyDataSet
https://github.com/dzenbot/DZNEmptyDataSet


通常用戶安裝一個 APP 后,會看到一個空的 UITableView 。DZNEmptyDataSet 可以通過提供默認的 Empty Data Set Pattern 的實現來回避這個問題。

9、Chameleon
https://github.com/ViccAlexander/Chameleon

Chameleon 是一個輕量卻功能強大的 iOS 顏色框架軟件。它基于的理念是:軟件應用程序應該可以不費力氣且同時保持多個漂亮的界面。

使用 Chameleon ,你不再需要調配 RGB 值,不用浪費時間去找你的 APP 合適的顏色組合,也不用擔心你 APP 的文字是否能在不同背景色上可讀。

10、PermissionScope
https://github.com/nickoneill/PermissionScope

PermissionScope 是一個用于智能請求用戶權限的 Swift 框架。 它不僅包含一個簡單的用戶界面來請求權限,還包含一個統一的許可 API ,可以告訴你任何指定的系統權限的狀態或輕松地對它們發起請求。

11、FileKit
https://github.com/nvzqz/FileKit


FileKit 是一個 Swift 框架,提供簡單而富有表現力的文件管理。使用示例:http://github.com/nvzqz/FileKit#paths

12、SwiftyUserDefaults
https://github.com/radex/SwiftyUserDefaults
SwiftyUserDefaults 讓 user defaults 用起來很愉悅,通過結合極具表現力的 Swifty API 和靜態輸入的優勢。在一個地方定義鍵,輕松地使用值類型,并免費獲得額外的安全性和方便的編譯時檢查。

13、Kingfisher
https://github.com/onevcat/Kingfisher


Kingfisher 是一款輕量級的純 Swift 庫,用于從 Web 上異步下載和緩存圖像。

特性

  • 異步圖像下載和緩存

  • 基于 URLSession 的網絡。提供基本圖像處理器和濾鏡。

  • 用于內存和磁盤的多層緩存。

  • 可取消下載和任務處理以提高性能。

  • 組件獨立。可按需分別使用下載器或緩存系統。

  • 預先獲取圖像并在必要時將其從緩存中顯示出來。

  • 包含 UIImageView、NSImage和UIButton擴展,可直接從 URL 設置圖像。

  • 設置圖像時可內置過渡動畫。

  • 可擴展的圖像處理和圖像格式支持。

14、Hero
https://github.com/lkzhao/Hero


Hero 是構建 iOS 視圖控制器過渡動畫的庫。它在 UIKit 繁瑣的過渡動畫 API 之上提供了一個層,使得自定義過渡動畫對于開發人員來說是一個輕松的任務。

15、Hedwig
https://github.com/onevcat/Hedwig


Hedwig 是一個 Swift 包,提供一組高級 API,可以讓你輕松地發送電子郵件到 SMTP 服務器。如果你打算在下一個神奇的 Swift 服務器應用里發送電子郵件,Hedwig 可能是一個不錯的選擇。

特性

  • 支持通過普通、SSL 或 TLS(STARTTLS)端口連接到所有的 SMTP 服務器。

  • 支持使用 PLAIN、CRAM-MD5、LOGIN 或 XOAUTH2 進行認證。

  • 支持使用 HTML 正文和附件發送電子郵件。

  • 支持自定義驗證方法和郵件標題,以跟蹤你的郵件活動。

  • 支持郵件按序發送,甚至可以同時發送郵件。

  • 支持 Swift Package Manager。

  • 完善的測試和文檔。

16、DeviceKit
https://github.com/dennisweissmann/DeviceKit
DeviceKit 是 UIDevice 的值類型替換。可輕松獲取設備的信息和電池電量。

特性

  • 設備識別

  • 設備系列檢測

  • 設備組檢測

  • 模擬器檢測

  • 電池狀態

  • 電池電量

  • Equatable

17、Charts
https://github.com/danielgindi/Charts


漂亮的曲線圖、餅狀圖、柱狀圖、散點圖、氣泡圖、雷達圖,更多的圖形都在 charts 庫里。


18、MGSwipeTableCell
https://github.com/MortimerGoro/MGSwipeTableCell


一個易于使用的 UITableViewCell 子類,可展示多種過渡方式的可滑動按鈕

19、RandomKit
https://github.com/nvzqz/RandomKit

640.png

簡單易用的隨機數據生成器。

20、ResponseDetective
https://github.com/netguru/ResponseDetective


ResponseDetective 是一個非侵入式框架,在調試時用于攔截應用程序和服務器之間的任何的傳出請求和傳入響應,以進行調試。

21、Onboard
https://github.com/mamaral/Onboard


僅需添加幾行代碼,即可輕松創建一個美麗和吸引人的載入體驗。

22、Quick + Nimble
https://github.com/Quick/Nimble


Quick 是一款專門用于 iOS 應用開發的開源行為驅動開發(BDD)測試框架,支持 Swift 和 Objective-C ,一般配合匹配框架 Nimble 使用。

23、Natalie
https://github.com/krzyzanowskim/Natalie
Natalie 生成基于 Storyboard 文件的 Swift 代碼,使 Storyboard 和 Segue 更容易使用。生成的文件減少了用字符串作為 Segue 或 Storyboard 的標識符的情況。

24、RxSwift
https://github.com/ReactiveX/RxSwift


對 Swift 的響應式編程感興趣? 那不妨試試 RxSwift 。

示例

指定 GitHub 存儲庫的搜索 ...


... 然后將結果綁定到你的視圖表


25、GDPerformanceView
https://github.com/dani-gavrilov/GDPerformanceView-Swift





GDPerformanceView 可以在狀態欄上方顯示 FPS、CPU 使用情況以及應用版本和 iOS 版本,并通過 delegate 報告 FPS 和 CPU 使用情況。

26、Alamofire
https://github.com/Alamofire/Alamofire


Alamofire 是一個用 Swift 編寫的 HTTP 網絡庫。

特性

  • 鏈式的請求/響應方法

  • URL / JSON / plist 參數編碼

  • 上傳類型支持:文件(File )、數據(Data )、流(Stream)以及 MultipartFormData

  • 支持文件下載,下載支持斷點續傳

  • 支持使用 NSURLCredential進 行身份驗證

  • 支持 HTTP 響應驗證

  • 上傳和下載進度可隨進程關閉

  • 支持 cURL 命令輸出

  • 支持動態修改和重試請求

  • 支持 TLS Certificate 和 Public Key Pinning

  • 網絡可達性

  • 文檔完善

27、SwiftyStoreKit
https://github.com/bizz84/SwiftyStoreKit


SwiftyStoreKit 是一個輕量級的 App 內購框架,支持 iOS 8.0+、tvOS 9.0+ 和 macOS 10.10+ 。

28、Timepiece
https://github.com/naoty/Timepiece
直觀的 Swift 日期處理庫。
特征:

  • 直觀: Timepiece 提供了一系列輔助函數,使得日期處理更簡單。

  • 準確: 精確依賴于 Foundation API , - Timepiece 可以在無需深入了解的前提下輔助計算日期。

  • 小: Timepiece 只有4個文件,你可以很簡單的閱讀其內部結構。

29、CryptoSwift
https://github.com/krzyzanowskim/CryptoSwift
用 Swift 實現的且用于 Swift 中的加密相關函數和輔助結構。

特點

  • 易用

  • 對于字符串和數據方便擴展

  • 支持增量更新(流式更新)

  • 支持 iOS、 macOS、AppleTV、watchOS、Linux 等系統

30、FSCalendar
https://github.com/WenchaoD/FSCalendar


完全可定制的 iOS 日歷庫,兼容 Objective-C 和 Swift 。


31、 ImageViewer
https://github.com/MailOnline/ImageViewer


一個類似 Twitter 的圖像查看器。

32、PromiseKit
https://github.com/mxcl/PromiseKit


PromiseKit 是對任意有 swiftc 的平臺的恰當而又完整的 promises 實現,它具有卓越的 Objective-C 橋接和專門為 iOS、macOS、tvOS 以及 watchOS 的特殊化處理。

33、Ensembles
https://github.com/drewmccormack/ensembles


Ensemble 是一個 Objective-C 框架,支持 Swift ,擴展了 Apple 的 Core Data 框架,為 Mac OS 和 iOS 添加了點對點的同步功能。

多個 SQLite 持久存儲可以通過像 iCloud 或 Dropbox 這樣的文件同步平臺整合在一起。該框架易于擴展,可支持任何需要在不同設備之間傳輸文件的服務,包括定制服務器。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容

  • 近期看到一篇文章,里面收錄了很多不錯的第三方庫,收藏起來,原文如下: 原文 由 Instagram 開發人員制作,...
    好雨知時節浩宇閱讀 354評論 0 3
  • 【轉】原文鏈接 1.IGListKit 由 Instagram 開發人員制作,IGListKit 是用于構建快速靈...
    張三呢閱讀 287評論 0 0
  • 愿你 做自己想做的事 走自己想走的路
    Sky0203閱讀 153評論 0 0
  • 有時候必需要緊握著拳頭 才可以 擊流水于無形 才可以 相伴你的左右 聆聽你內心深處的聲音 一定要讓山風飄蕩著黑的白...
    江城妖怪閱讀 148評論 0 1
  • 在競爭日趨激烈的今天,口才不僅成了人們日常生活的一個重要組成部分,更是人們事業成功的一個舉足輕重的先決條件。從...
    纖薇閱讀 909評論 0 3