[Swift] 前年33个必须精晓的iOS开源库

良辰这一次为大家带来了iOS开发者必备的33个开源库。个个是经典。废话少说,详细如下:

你好,iOS开发者们!我的名字叫 Pawe,我是一个单独 iOS 开发者,并且是
Enter Universe
的作者。
似乎两年前我公布了 27
个iOS开源库,让你的开发坐上火箭吧。这是自我在此间最棒的篇章了(依照Medium 用户的反映来看):

1486451105920331.jpg

一旦有 15.5 万人 很担心是还是不是超越互联网上连山排海般的文字找到最棒的 iOS
开源库,那自己来传递。
可以看一下我的 GitHub
主页
,在那篇作品之后又星了跨越
180 个 repositories,所以是时候更新自己的 Medium 了。
跟 33 个 pod 打个招呼,它们会让你 2017
年的开发坐上火箭。焚烧发射啦。

1486451187646078.png

照片版权:(NASA/Joel Kowsky)
在小说的最底层你会找到 TL;DR
即统计列表,列出了独具那几个库,并且有相应的链接以及 CocoaPods
名字(如若有些话)。阅读进程中不需求记笔记。现在启幕谈正事。
1.IGListKit,作者是Instagram
Engineering

1486451257679564.jpg

Instagram 程序员做的,IGListKit 是数量驱动的 UICollectionView
框架,为了创设飞快和可伸张的列表。其余,它促进你在 app
停止对于大气视图控制器的应用。看看那篇来自 Ray
Wenderlich

的科目,关于什么在品种中落实那么些库,或者读读那篇Rodrigo
Cavalcante
的稿子,关于迁移现有的
UITableView 到 IGListCollectionView。
Instagram/IGListKit – 为了打造高速和可扩充的列表而生的数码驱动
UICollectionView
框架

2.
Realm,作者是realm.io

1486452349566480.jpg

Realm是一个直接运行在二弟大、平板和可穿戴设备内部的移动端数据库,不只是
iOS。若是你想试一点和 Core Data 不平等的,就用
Realm。许两人说它是一个现代化的、产品已经足以代替苹果原生的解决方案。
realm/realm-cocoa – Realm 是一个移动端数据库:Core Data 和 SQLite
的替代品

3.Moya,作者是Ash
Furrow

1486452409589582.jpg

Moya 是您的 app
中缺失的互联网层。不用再去想在何处(或者什么)安置互联网请求,Moya
替你管理。

1486452430894564.png

Moya/Moya – 用 斯威夫特写的互联网抽象层
4.SwiftyJSON,作者是
Pinglin
Tang

Swift 界 JSON
解析之王。
机关替你做到了可选值的拆包。
斯威夫特yJSON/斯维夫特yJSON – 在 Swift 里处理 JSON
更好的格局

5.Valet,作者是Square
Valet 允许你安然的在 iOS 或 OS X
钥匙链中蕴藏数据,而不需求控制其他钥匙链如何工作的学问。它援助在一台装备的七个利用(同一个开发者)间分享数据,以及在一个行使中在多个设备间采纳iCloud 举行分享。襄助 Touch ID?没难题。
square/Valet – Valet 可以让你平安地在 iOS 或 OS X
钥匙链中贮存数据,而不要求控制其余钥匙链工作的学识

**6. [Firebase
Analytics](https://link.jianshu.com?t=https://firebase.google.com/docs/analytics/ios/start)
作者是 **Google
Developers
)

1486452565517177.png

由谷歌打造(好吧,收购),应该是 iOS 最好的免费分析解决方案。追踪 app
使用量、用户活跃度、以及事件;设置用户属性;创制自定义受众;还有更加多。
Firebase Analytics | Firebase – Firebase Analytics 是一个免费 app
监测解决方案,洞察 app
用量和用户活跃度
)
**7.
**AsyncDisplayKit

1486452608588298.png

非死不可 为他们的 app Paper 创设了这些异步 UI SDK。如若您想让你的 app
总是每秒用 60 帧的进程来渲染,不可不看看那些库。那儿有一篇来自 Buffer
团队的故事:
Buffer 里 iOS 的坦荡滚动:怎么样(以及为啥)大家完成了
AsyncDisplayKit – 每年苹果的 WWDC
停止后,大家都会把最多的注意力转移到革新大家的
Buffer…

facebook/AsyncDisplayKit – iOS app
的平缓异步用户界面。

8.DZNEmptyDataSet
用户设置了您的 app 之后,就会看见一个空手的 UITableView。
DZNEmptyDataSet 帮忙您防止那个场地,它提供了 Empty Data Set
Pattern

的默许完毕。

1486452722768192.png

dzenbot/DZNEmptyDataSet – 嵌入式 UITableView/UICollectionView
的父类体系,用于显示空的数据集,无论曾几何时…

**9.
[Chameleon](https://link.jianshu.com?t=https://github.com/ViccAlexander/Chameleon)
作者是 **Vicc
Alexander

1486452768555247.png

Chameleon 是一个轻量、又有力的 iOS
颜色框架。它依照“软件应用程序应该轻松地贯彻效益,同时保持完美的界面”那些想法而创设。
有了 Chameleon,你就不再须求捣鼓 RGB 值、浪费时间搞领悟 app
太尉确的颜色组合、以及为文本能依旧不能在 app
里分歧的背景下可以被看见而烦恼。

1486452789616106.png

Vicc亚历克斯ander/Chameleon – iOS 的扁平颜色框架(Obj-C 和
Swift)

10.PermissionScope,作者是Nick
O’Neill

1486452834536322.png

PermissionScope 是一个 Swift框架,为了向用户巧妙地呼吁权限。它不只含有不难的权位请求
UI,还有统一的权限 API
可以告诉您轻易给定的种类权限的图景,当然也可以轻松地呼吁它们。

1486452847419997.jpg

nickoneill/PermissionScope – 巧妙的 iOS 权限 UI 和 统一
API

**11.
[FileKit](https://link.jianshu.com?t=https://github.com/nvzqz/FileKit)
作者是 **Nikolai
Vazquez

1486452892818718.png

FileKit 是一个 Swift框架,提供了简便和兼具表现力的公文管理。看望使用示例。)
nvzqz/File基特 – 不难和具备表现力的 斯维夫特文件管理
**12.
[SwiftyUserDefaults](https://link.jianshu.com?t=https://github.com/radex/SwiftyUserDefaults)
作者是 **Radek
Pietruszewski

SwiftyUserDefaults 让 user defaults 用起来很乐意,通过结合如闻天籁的
斯维夫特y API
和静态输入的好处。在一个地点定义键,轻松地利用值类型,获得额外的安全性和有利于的编译时检查,那么些都是免费的。
radex/斯威夫特yUserDefaults – NSUserDefaults 的现代化 SwiftAPI
13.Kingfisher),作者是王巍

1486452969128104.jpg

Kingfisher 是一个轻量、纯 斯维夫特的库,可以从网络中异步下载和缓存图片。
onevcat/Kingfisher
**14.
[Hero](https://link.jianshu.com?t=https://github.com/lkzhao/Hero)
作者是 **Luke
Zhao

1486453005790949.jpg

Hero 是为着创设 iOS 试图控制器过渡动画的库。它在 UI基特 繁琐的交接动画
API
之上提供了一个层,使得自定义过渡动画对于开发人士来说是一个落魄不羁的天职。

lkzhao/Hero – iOS 优雅的连结动画库,用 Swift写的。
15.Hedwig
作者是
王巍

1486453053843055.jpg

Hedwig 是一个 斯威夫特 包,提供了一组高级
API,可以让您轻轻松松地发送电子邮件到SMTP服务器。如若你打算在下一个神奇的
斯维夫特 服务器 app里发送 email,Hedwig 可能是一个好的挑三拣四。
onevcat/Hedwig – 像老总一样发送邮件到自由 SMTP 服务器,用 斯威夫特编写并且是跨平台的
16.DeviceKit
作者是
Dennis
Weissmann

DeviceKit 是 UIDevice 的值类型替换。轻松得到装备新闻和电池电量。
dennisweissmann/DeviceKit
**17.
**Charts

1486453155138861.png

完美的线图、饼图、条形图、分布图、气泡图、雷达图还有愈来愈多花色,那是一个图表库。

1486453177377551.png

danielgindi/Charts – iOS/tvOS/OSX 的卓越图表!跨平台的 MPAndroidChart
的苹果端

**18.
**MGSwipeTableCell
一个不难使用的UITableViewCell子类,允许彰显带有各个变换的可滑动按钮。

1486453225410589.png

MortimerGoro/MGSwipeTableCell
**19.
[RandomKit](https://link.jianshu.com?t=https://github.com/nvzqz/RandomKit)
作者是 **Nikolai
Vazquez

1486453291688873.png

粗略易用的随意数据变化。
#285: 用 RandomKit 生成自由数据 – 无论是在 app
的原型界面要求样本值,照旧娱乐逻辑的片段乘法器,随机…

nvzqz/RandomKit – Swift中的随机数据变动
**20.
**ResponseDetective

1486453336165739.png

ResponseDetective
是一个非嵌入式框架,用于拦截应用程序和服务器之间的其他传出请求和传颂响应以用来调试目的。

用 ResponseDetective 让 iOS 里的 HTTP 调适更易于 –
大家很高兴地发表新的,用于HTTP调试的开源iOS工具 –
ResponseDetective。你有稍许次…
netguru/ResponseDetective –
互连网层里的夏Locke·福尔摩斯

**21.
**Onboard
只需几行代码,即可轻松成立优质,别有天地的用户指引页体验。

1486453364709683.gif

1486453369937551.gif

mamaral/Onboard
**22. **Quick
**
+
Nimble 作者是
**もどかしい

1486454515360259.png

Quick是 Swift 和 Objective-C 的BDD测试框架,和匹配器框架 Nimble
合营使用。
Quick/Quick – Swift (以及
Objective-C)测试框架。

Quick/Nimble – Swift 和 Objective-C
的匹配器

**23.
[Natalie](https://link.jianshu.com?t=https://github.com/krzyzanowskim/Natalie)
作者是 **Marcin
Krzyzanowski

Natalie 生成基于 storyboard 文件的 斯维夫特 代码,使 storyboard 和 segue
更易于选用。生成的文件收缩了用字符串作为 Segue 或 Storyboard
的标识符的气象。
krzyzanowskim/Natalie – Storyboard
代码生成器(Swift)

**24.
[RxSwift](https://link.jianshu.com?t=https://github.com/ReactiveX/RxSwift)
作者是
**ReactiveExtensions*

1486454594762749.png

对斯维夫特中的 reactive 编程感兴趣?那里是RxSwift。
ReactiveX/RxSwift

  1. GDPerformanceView
    作者是 Daniil
    Gavrilov

    1486454639760296.png

GDPerformanceView在状态栏上方显示 FPS,CPU 使用情况,app 和 iOS
版本,并通过 delegate 报告 FPS 和 CPU 使用情况。  
[dani-gavrilov/GDPerformanceView-Swift](https://link.jianshu.com?t=https://github.com/dani-gavrilov/GDPerformanceView-Swift)  
\*\*26.
\*\*[**Alamofire**](https://link.jianshu.com?t=https://github.com/Alamofire/Alamofire)  

1486454674401990.png


Alamofire 是用 Swift 写的 HTTP 网络库。  
[Swift 里的绝对网络指南,用 Alamofire -
自从2014年6月语言发布以来,Swift的网络已经成为争论焦点。甚至…](https://link.jianshu.com?t=https://www.appcoda.com/alamofire-beginner-guide/)  
[Alamofire/Alamofire - Swift 中 优雅的 HTTP
网络](https://link.jianshu.com?t=https://github.com/Alamofire/Alamofire)  
\*\*27.
**[**SwiftyStoreKit**](https://link.jianshu.com?t=https://github.com/bizz84/SwiftyStoreKit)**
作者是 \*\*[**Andrea
Bizzotto**](https://link.jianshu.com?t=https://medium.com/u/374ee4d0e153)  

1486454721880743.png


SwiftyStoreKit 是一个轻量的 app 内购框架,支持 iOS 8.0+,tvOS
9.0+和macOS 10.10+。  
[bizz84/SwiftyStoreKit](https://link.jianshu.com?t=https://github.com/bizz84/SwiftyStoreKit)  
\*\*28.
**[**Timepiece**](https://link.jianshu.com?t=https://github.com/naoty/Timepiece)**
作者是
\*\*[**AnyType**](https://link.jianshu.com?t=https://medium.com/u/4bf59b1ce28c)  
Swift 里直观的日期处理。  
[naoty/Timepiece](https://link.jianshu.com?t=https://github.com/naoty/Timepiece)  
\*\*29.
**[**CryptoSwift**](https://link.jianshu.com?t=https://github.com/krzyzanowskim/CryptoSwift)**
作者是 \*\*[**Marcin
Krzyzanowski**](https://link.jianshu.com?t=https://medium.com/u/33f8bb6517ab)  
Swift 里加密相关的帮助函数实现。  
[krzyzanowskim/CryptoSwift - CryptoSwift
是一个不断扩充的集合,包含了标准、安全、用 Swift
实现的加密算法](https://link.jianshu.com?t=https://github.com/krzyzanowskim/CryptoSwift)  
\*\*30.
\*\*[**FSCalendar**](https://link.jianshu.com?t=https://github.com/WenchaoD/FSCalendar)  

1486454835386672.png


完全自定义的 iOS 日历库,兼容 Objective-C 和 Swift。  

1486454841511336.png


[WenchaoD/FSCalendar](https://link.jianshu.com?t=https://github.com/WenchaoD/FSCalendar)  
\*\*31.
**[**ImageViewer**](https://link.jianshu.com?t=https://github.com/MailOnline/ImageViewer)**
作者是 \*\*[**Kristian
Angyal**](https://link.jianshu.com?t=https://medium.com/u/f28c6e64b028)  
模仿 Twitter 的图片浏览器。  
[MailOnline/ImageViewer](https://link.jianshu.com?t=https://github.com/MailOnline/ImageViewer)  
\*\*32.
\*\*[**PromiseKit**](https://link.jianshu.com?t=https://github.com/mxcl/PromiseKit)  

1486454912610501.jpg


PromiseKit 是对于任意有 swiftc 的平台的周到和完整的 promises
实现,它有优秀的 Objective-C 桥接和赏心悦目的 iOS、macOS、tvOS 和
watchOS 专业化。  
[mxcl/PromiseKit - Swift 和 ObjC 的
Promises](https://link.jianshu.com?t=https://github.com/mxcl/PromiseKit**)  
\*\*33.
**[**Ensembles**](https://link.jianshu.com?t=https://github.com/drewmccormack/ensembles)**
作者是 \*\*[**Drew
McCormack**](https://link.jianshu.com?t=https://medium.com/u/4082d9467366)  
\[图片上传中。。。(33)\]  
Ensembles 是一个 Objective-C 框架——也支持 Swift ——
它扩展了Apple的Core Data框架,为Mac OS和iOS添加了点对点同步。多个
SQLite persistent store
可以通过文件同步平台(如iCloud或Dropbox)耦合在一起。该框架可以容易地扩展以支持能够在设备之间移动文件的任何服务,包括自定义服务器。  
**这些库的 TL;DR 列表,供快速查询:**  
1.[IGListKit](https://link.jianshu.com?t=https://github.com/Instagram/IGListKit)
\[UICollectionView 框架\] -> pod 'IGListKit', '~> 2.0.0  
2.[Realm](https://link.jianshu.com?t=https://github.com/realm/realm-cocoa)
\[移动端数据库\] -> pod 'RealmSwift’  
3.[Moya](https://link.jianshu.com?t=https://github.com/Moya/Moya)
\[抽象网络层\] -> pod 'Moya', ‘8.0.0’  
4.[SwiftyJSON](https://link.jianshu.com?t=https://github.com/SwiftyJSON/SwiftyJSON)
\[JSON 解析\] -> pod 'SwiftyJSON’  
5.[Valet](https://link.jianshu.com?t=https://github.com/square/Valet)
\[钥匙串帮手\] -> pod 'Valet’  
6.[Firebase
Analytics](https://link.jianshu.com?t=https://firebase.google.com/docs/analytics/)
\[分析\] -> pod 'Firebase/Core’  
7.[AsyncDisplayKit](https://link.jianshu.com?t=https://github.com/facebook/AsyncDisplayKit)
\[异步 UI SDK\] -> pod 'AsyncDisplayKit’  
8.[DZNEmptyDataSet](https://link.jianshu.com?t=https://github.com/dzenbot/DZNEmptyDataSet)
\[空状态模式\] -> pod 'DZNEmptyDataSet’  
9.[Chameleon](https://link.jianshu.com?t=https://github.com/ViccAlexander/Chameleon)
\[扁平化颜色框架\] -> pod 'ChameleonFramework/Swift',
:[Git](https://link.jianshu.com?t=http://lib.csdn.net/base/28) =>
'[https://github.com/ViccAlexander/Chameleon.git'](https://link.jianshu.com?t=https://github.com/ViccAlexander/Chameleon.git')  
10.[PermissionScope](https://link.jianshu.com?t=https://github.com/nickoneill/PermissionScope)
\[iOS 权限框架\] -> pod 'PermissionScope’  
11.[FileKit](https://link.jianshu.com?t=https://github.com/nvzqz/FileKit)
\[文件管理\] -> pod 'FileKit', '~> 4.0.0’  
12.[SwiftyUserDefaults](https://link.jianshu.com?t=https://github.com/radex/SwiftyUserDefaults)
\[user defaults 帮手\] -> pod 'SwiftyUserDefaults’  
13.[Kingfisher](https://link.jianshu.com?t=https://github.com/onevcat/Kingfisher)
\[下载图片\] -> pod 'Kingfisher', '~> 3.0’  
14.[Hero](https://link.jianshu.com?t=https://github.com/lkzhao/Hero)
\[自定义试图控制器过渡动画\] -> pod 'Hero’  
15.[Hedwig](https://link.jianshu.com?t=https://github.com/onevcat/Hedwig)
\[发送 email\]  
16.[DeviceKit](https://link.jianshu.com?t=https://github.com/dennisweissmann/DeviceKit)
\[设备信息\] -> pod 'DeviceKit', '~> 1.0’  
17.[Charts](https://link.jianshu.com?t=https://github.com/danielgindi/Charts)
\[图表\] -> pod 'Charts’  
18.[MGSwipeTableCell](https://link.jianshu.com?t=https://github.com/MortimerGoro/MGSwipeTableCell)
\[可以滑动的 table cells\] -> pod 'MGSwipeTableCell’  
19.[RandomKit](https://link.jianshu.com?t=https://github.com/nvzqz/RandomKit)
\[随机生成数字\] -> pod 'RandomKit', '~> 3.0.0’  
20.[ResponseDetective](https://link.jianshu.com?t=https://github.com/netguru/ResponseDetective)
\[调适网络请求\] -> pod 'ResponseDetective’  
21.[Onboard](https://link.jianshu.com?t=https://github.com/mamaral/Onboard)
\[用户指导页\] -> pod 'Onboard’  
22.[Quick](https://link.jianshu.com?t=https://github.com/Quick/Quick) +
[Nimble](https://link.jianshu.com?t=https://github.com/Quick/Nimble)
\[BDD 测试\] -> pod 'Quick’  
pod 'Nimble’  
23.[Natalie](https://link.jianshu.com?t=https://github.com/krzyzanowskim/Natalie)
\[从 storyboard 生成代码\]  
24.[RxSwift](https://link.jianshu.com?t=https://github.com/ReactiveX/RxSwift)
\[reactive 编程\] -> pod 'RxSwift', '~> 3.0’  
25.[GDPerformanceView](https://link.jianshu.com?t=https://github.com/dani-gavrilov/GDPerformanceView-Swift)
\[实时 FPS and CPU 用量\] -> pod 'GDPerformanceView-Swift',
'~> 1.1.0’  
26.[Alamofire](https://link.jianshu.com?t=https://github.com/Alamofire/Alamofire)
\[网络\] -> pod 'Alamofire', '~> 4.3’  
27.[SwiftyStoreKit](https://link.jianshu.com?t=https://github.com/bizz84/SwiftyStoreKit)
\[app 内购\] -> pod 'SwiftyStoreKit’  
28.[Timepiece](https://link.jianshu.com?t=https://github.com/naoty/Timepiece)
\[date 帮手\] -> pod 'Timepiece’  
29.[CryptoSwift](https://link.jianshu.com?t=https://github.com/krzyzanowskim/CryptoSwift)
\[加密\] -> pod 'CryptoSwift’  
30.[FSCalendar](https://link.jianshu.com?t=https://github.com/WenchaoD/FSCalendar)
\[日历\] -> pod 'FSCalendar’  
31.[ImageViewer](https://link.jianshu.com?t=https://github.com/MailOnline/ImageViewer)
\[模仿 Twitter 的图片查看器\] -> pod 'ImageViewer’  
32.[PromiseKit](https://link.jianshu.com?t=https://github.com/mxcl/PromiseKit)
\[promises\] -> pod 'PromiseKit', '~> 4.0’  
33.[Ensembles](https://link.jianshu.com?t=https://github.com/drewmccormack/ensembles)
\[Core Data 同步\] -> pod 'Ensembles’

谢谢阅读,若是你喜悦那篇文章,点击喜欢,收藏按钮,
来把它分享给您的心上人,那样更加多的人会发现这个更加棒的库。iOS
开发者你喜爱那些库吗?良辰谢谢大家收看。

发表评论

电子邮件地址不会被公开。 必填项已用*标注