33 款主宰 2017 iOS 開(kāi)發(fā)的開(kāi)源庫(kù)

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


由 Instagram 開(kāi)發(fā)人員制作,IGListKit 是用于構(gòu)建快速靈活列表的數(shù)據(jù)驅(qū)動(dòng)型的 UICollectionView 框架。

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

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


Realm 是一款移動(dòng)數(shù)據(jù)庫(kù),可直接運(yùn)行在手機(jī)、平板電腦和可穿戴設(shè)備中,它不僅適用于 iOS。

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

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


Moya 是你的應(yīng)用程序所缺少的網(wǎng)絡(luò)層。你不用思考將網(wǎng)絡(luò)請(qǐng)求放到哪里(以及如何放),Moya 會(huì)幫你處理這些問(wèn)題。

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

將下面內(nèi)容:


轉(zhuǎn)換為這種格式:


可選封裝會(huì)自動(dòng)為你完成。

5、Valet
https://github.com/square/Valet
Valet 可以幫助你實(shí)現(xiàn)將數(shù)據(jù)安全地存儲(chǔ)在 iOS 或 OS X Keychain 中,而無(wú)需了解任何 Keychain 相關(guān)的工作原理。它支持在單個(gè)設(shè)備上的多個(gè)應(yīng)用程序(同一開(kāi)發(fā)者)之間共享數(shù)據(jù),并在具有 iCloud 的設(shè)備上的實(shí)現(xiàn)跨設(shè)備的數(shù)據(jù)共享。它還支持 Touch ID。

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


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

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


Facebook 為他們的 app Paper創(chuàng)造了這個(gè)異步 UI SDK。如果你想讓你的 app 總是每秒用 60 幀的速度來(lái)渲染,一定要看看這個(gè)庫(kù)。 這兒有一篇來(lái)自 Buffer 團(tuán)隊(duì)的故事。

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


通常用戶安裝一個(gè) APP 后,會(huì)看到一個(gè)空的 UITableView 。DZNEmptyDataSet 可以通過(guò)提供默認(rèn)的 Empty Data Set Pattern 的實(shí)現(xiàn)來(lái)回避這個(gè)問(wèn)題。

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

Chameleon 是一個(gè)輕量卻功能強(qiáng)大的 iOS 顏色框架軟件。它基于的理念是:軟件應(yīng)用程序應(yīng)該可以不費(fèi)力氣且同時(shí)保持多個(gè)漂亮的界面。

使用 Chameleon ,你不再需要調(diào)配 RGB 值,不用浪費(fèi)時(shí)間去找你的 APP 合適的顏色組合,也不用擔(dān)心你 APP 的文字是否能在不同背景色上可讀。

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

PermissionScope 是一個(gè)用于智能請(qǐng)求用戶權(quán)限的 Swift 框架。 它不僅包含一個(gè)簡(jiǎn)單的用戶界面來(lái)請(qǐng)求權(quán)限,還包含一個(gè)統(tǒng)一的許可 API ,可以告訴你任何指定的系統(tǒng)權(quán)限的狀態(tài)或輕松地對(duì)它們發(fā)起請(qǐng)求。

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


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

12、SwiftyUserDefaults
https://github.com/radex/SwiftyUserDefaults
SwiftyUserDefaults 讓 user defaults 用起來(lái)很愉悅,通過(guò)結(jié)合極具表現(xiàn)力的 Swifty API 和靜態(tài)輸入的優(yōu)勢(shì)。在一個(gè)地方定義鍵,輕松地使用值類(lèi)型,并免費(fèi)獲得額外的安全性和方便的編譯時(shí)檢查。

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


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

特性

  • 異步圖像下載和緩存

  • 基于 URLSession 的網(wǎng)絡(luò)。提供基本圖像處理器和濾鏡。

  • 用于內(nèi)存和磁盤(pán)的多層緩存。

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

  • 組件獨(dú)立??砂葱璺謩e使用下載器或緩存系統(tǒng)。

  • 預(yù)先獲取圖像并在必要時(shí)將其從緩存中顯示出來(lái)。

  • 包含 UIImageView、NSImage和UIButton擴(kuò)展,可直接從 URL 設(shè)置圖像。

  • 設(shè)置圖像時(shí)可內(nèi)置過(guò)渡動(dòng)畫(huà)。

  • 可擴(kuò)展的圖像處理和圖像格式支持。

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


Hero 是構(gòu)建 iOS 視圖控制器過(guò)渡動(dòng)畫(huà)的庫(kù)。它在 UIKit 繁瑣的過(guò)渡動(dòng)畫(huà) API 之上提供了一個(gè)層,使得自定義過(guò)渡動(dòng)畫(huà)對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)是一個(gè)輕松的任務(wù)。

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


Hedwig 是一個(gè) Swift 包,提供一組高級(jí) API,可以讓你輕松地發(fā)送電子郵件到 SMTP 服務(wù)器。如果你打算在下一個(gè)神奇的 Swift 服務(wù)器應(yīng)用里發(fā)送電子郵件,Hedwig 可能是一個(gè)不錯(cuò)的選擇。

特性

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

  • 支持使用 PLAIN、CRAM-MD5、LOGIN 或 XOAUTH2 進(jìn)行認(rèn)證。

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

  • 支持自定義驗(yàn)證方法和郵件標(biāo)題,以跟蹤你的郵件活動(dòng)。

  • 支持郵件按序發(fā)送,甚至可以同時(shí)發(fā)送郵件。

  • 支持 Swift Package Manager。

  • 完善的測(cè)試和文檔。

16、DeviceKit
https://github.com/dennisweissmann/DeviceKit
DeviceKit 是 UIDevice 的值類(lèi)型替換??奢p松獲取設(shè)備的信息和電池電量。

特性

  • 設(shè)備識(shí)別

  • 設(shè)備系列檢測(cè)

  • 設(shè)備組檢測(cè)

  • 模擬器檢測(cè)

  • 電池狀態(tài)

  • 電池電量

  • Equatable

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


漂亮的曲線圖、餅狀圖、柱狀圖、散點(diǎn)圖、氣泡圖、雷達(dá)圖,更多的圖形都在 charts 庫(kù)里。


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


一個(gè)易于使用的 UITableViewCell 子類(lèi),可展示多種過(guò)渡方式的可滑動(dòng)按鈕

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

640.png

簡(jiǎn)單易用的隨機(jī)數(shù)據(jù)生成器。

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


ResponseDetective 是一個(gè)非侵入式框架,在調(diào)試時(shí)用于攔截應(yīng)用程序和服務(wù)器之間的任何的傳出請(qǐng)求和傳入響應(yīng),以進(jìn)行調(diào)試。

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


僅需添加幾行代碼,即可輕松創(chuàng)建一個(gè)美麗和吸引人的載入體驗(yàn)。

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


Quick 是一款專(zhuān)門(mén)用于 iOS 應(yīng)用開(kāi)發(fā)的開(kāi)源行為驅(qū)動(dòng)開(kāi)發(fā)(BDD)測(cè)試框架,支持 Swift 和 Objective-C ,一般配合匹配框架 Nimble 使用。

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

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


對(duì) Swift 的響應(yīng)式編程感興趣? 那不妨試試 RxSwift 。

示例

指定 GitHub 存儲(chǔ)庫(kù)的搜索 ...


... 然后將結(jié)果綁定到你的視圖表


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





GDPerformanceView 可以在狀態(tài)欄上方顯示 FPS、CPU 使用情況以及應(yīng)用版本和 iOS 版本,并通過(guò) delegate 報(bào)告 FPS 和 CPU 使用情況。

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


Alamofire 是一個(gè)用 Swift 編寫(xiě)的 HTTP 網(wǎng)絡(luò)庫(kù)。

特性

  • 鏈?zhǔn)降恼?qǐng)求/響應(yīng)方法

  • URL / JSON / plist 參數(shù)編碼

  • 上傳類(lèi)型支持:文件(File )、數(shù)據(jù)(Data )、流(Stream)以及 MultipartFormData

  • 支持文件下載,下載支持?jǐn)帱c(diǎn)續(xù)傳

  • 支持使用 NSURLCredential進(jìn) 行身份驗(yàn)證

  • 支持 HTTP 響應(yīng)驗(yàn)證

  • 上傳和下載進(jìn)度可隨進(jìn)程關(guān)閉

  • 支持 cURL 命令輸出

  • 支持動(dòng)態(tài)修改和重試請(qǐng)求

  • 支持 TLS Certificate 和 Public Key Pinning

  • 網(wǎng)絡(luò)可達(dá)性

  • 文檔完善

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


SwiftyStoreKit 是一個(gè)輕量級(jí)的 App 內(nèi)購(gòu)框架,支持 iOS 8.0+、tvOS 9.0+ 和 macOS 10.10+ 。

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

  • 直觀: Timepiece 提供了一系列輔助函數(shù),使得日期處理更簡(jiǎn)單。

  • 準(zhǔn)確: 精確依賴于 Foundation API , - Timepiece 可以在無(wú)需深入了解的前提下輔助計(jì)算日期。

  • 小: Timepiece 只有4個(gè)文件,你可以很簡(jiǎn)單的閱讀其內(nèi)部結(jié)構(gòu)。

29、CryptoSwift
https://github.com/krzyzanowskim/CryptoSwift
用 Swift 實(shí)現(xiàn)的且用于 Swift 中的加密相關(guān)函數(shù)和輔助結(jié)構(gòu)。

特點(diǎn)

  • 易用

  • 對(duì)于字符串和數(shù)據(jù)方便擴(kuò)展

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

  • 支持 iOS、 macOS、AppleTV、watchOS、Linux 等系統(tǒng)

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


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


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


一個(gè)類(lèi)似 Twitter 的圖像查看器。

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


PromiseKit 是對(duì)任意有 swiftc 的平臺(tái)的恰當(dāng)而又完整的 promises 實(shí)現(xiàn),它具有卓越的 Objective-C 橋接和專(zhuān)門(mén)為 iOS、macOS、tvOS 以及 watchOS 的特殊化處理。

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


Ensemble 是一個(gè) Objective-C 框架,支持 Swift ,擴(kuò)展了 Apple 的 Core Data 框架,為 Mac OS 和 iOS 添加了點(diǎn)對(duì)點(diǎn)的同步功能。

多個(gè) SQLite 持久存儲(chǔ)可以通過(guò)像 iCloud 或 Dropbox 這樣的文件同步平臺(tái)整合在一起。該框架易于擴(kuò)展,可支持任何需要在不同設(shè)備之間傳輸文件的服務(wù),包括定制服務(wù)器。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容