27个iOS开源库助力你的开发

你绝对不想错过


我喜欢开源!

而且我也喜欢那些花费宝贵时间来创造好玩的东西并不求回报地与他人分享这些东西的开发者。所有为开源做贡献的人们,你们都太棒了!感谢你们的努力!


下面,从我日常工作中我自己的APP里,从我非常喜欢的iOS开源库里选出一些开源库,列举在这里。以下排名不分先后,因为它们都很不错。

这里面绝大部分开源库都支持CocoaPods,所以,将它们添加到你的Xcode项目里是轻而易举的事。

在文章的最后,你会找到TL;DR(Too long; didn't read.)版本——只有标题和项目超链接。如果你觉得这篇文章有用,请和你的iOS小伙伴分享。好的东西需要传播。

1.DZNEmptyDataSet

这个库应该内置于iOS SDK中成为标准的处理空表视图(TableView)和集合视图(CollectionView)的方法。使用默认的表视图,如果你的视图是空的,那么屏幕就是空的。你并不能获得最好的用户体验。

使用这个库,你只需要实现几个协议,iOS就可以完美恰当地展示给你一个对用户友好的集合视图。对每个iOS项目来说都很简单。

CocoaPods:

pod 'DZNEmptyDataSet'

2.PDTSimpleCalendar

想要为你的App添加一个简单、好看而且有效的日历组件吗?从现在起,你拥有了可能是iOS上最好的日历组件——PDTSimpleCalendar。

CocoaPods:

pod 'PDTSimpleCalendar'

3.MagicalRecord

有人说,Core Data很简单。也有人说,它很好用也很简单。呵呵,说的是苹果产品吗?成千上万的范例代码添加到哪个项目都不是优雅且简单的。还别说添加、删除、更新一大堆的实例、保存上下文、创建为不同的环境不同的Core Data堆栈等等。我当然非常喜欢Core Data,但是苹果真的可以用一种稍微好一点的方式——MagicalRecord的方式——简化它。

MagicalRecord的工作方式像将Core Data封装起来,将所有与开发者不相关的东西隐藏掉。如果你在你的App中使用了Core Data,真诚地推荐你使用这个库。

CocoaPods:

pod 'MagicalRecord'

4.Chameleon

如果你正在阅读这篇文章,你可能是一个比设计师更出色的工程师。这个库合适你。

Chameleon是一个iOS色彩框架.它在UIColor的基础上,扩展出漂亮的、现代的、扁平化的颜色。它也可以根据我们自定义的颜色创建出选色板。它还可以做很多事情,从Readme中去发现吧。如果你想使你的App变漂亮,绝对要将这个库添加到你的项目中。

CocoaPods:

pod 'ChameleonFramework'

5.Alamofire

Alamofire是一个用Swift写的出色的网络连接库。你应该一直都在使用AFNetworking吧?Alamofire是它的亲兄弟。年轻但是更时髦,当然(AFNetworking是用Objective-C写的)。

你需要完成网络任务如:下载、上传、获取JSON数据等?Alamofire适合你。GitHub8000人的选择不会错。

CocoaPods:

pod 'Alamofilre'

6.TextFiledEffects

你有没有觉得标准的UITextField有一点枯燥?我也是这样认为的,那么,来认识一下TextFiledEffects吧!我不会写太多,只给你们展示一下这个库能完成的例子:

当然,只要拖拽进控制器就行。你甚至可以在storyboard中当作IBDesignables使用。

CocoaPods:

pod 'TextFiledEffects'

Carthage:

github "raulriera/TextFiledEffects"

7.GPUImage

你有开发过相机应用吗?如果没有,在见识这个库之后你一定会尝试的

GPUImage提供给我们一个GPU(图形处理单元)加速的相机效果(图片和视频都可以),速度超快!App Store里有几百个app使用了这个库——我的其中一个也使用了:

我的使用GPUImage的App
我的使用GPUImage的App

在GitHub上有8869颗星,而且还在增加。

CocoaPods:

pod 'GPUImage'

8.iRate

在App Store中获得更多评论的最好方法是什么?我并没有足够的数据能回答这个问题,但是如果要我说,我可能会说问问用户就好啦。这可能是有点老派的方式了——现在很多开发者在App中创建自定义提示——但是如果你没有时间或者不想从取消实现任何方法,那最好是使用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程序也很难,特别是对于很棒的、自定义的文本输入控制…,这种情况下,准备好在你的程序中使用这些代码吧!

自动增加文本区域?可以。手势识别,自动填充,多媒体复制?可以。简单的拖拽方案?可以你还需要什么功能呢?

CocoaPods:

pod 'SlackTextViewController'

12.RETableViewManager

RETableViewManager可以帮助你用代码动态创建和管理表格视图。它已经帮我们定义了一些表格(bool值、文本、日期等,看下图),但你也可以自定义视图与默认的一起使用。

左边是iOS6以前,右边是iOS7以后
左边是iOS6以前,右边是iOS7以后

如果没有这个库,你可以在storyboard上也能完成,但是有时候代码比可视操作更好。

CocoaPods:

pod 'RETableViewManager'

13.PermissionScope

这是一个好用的库,它通过在需要系统权限之前提示征求用户允许提升用户体验。更高的授受度->用户更高的使用率->更好的保留度->更好的统计->更多的下载量。高度推荐的库。

CocoaPods:

pod 'PermissionScope'

14.SVProgressHUD

这个图片出现很合适,不用等太久也不要刷新页面。这就是SVProgressHUD在你的App中的样子。如果你需要自定义指示器,你可以用它(可能是最好的)。

CocoaPods:

pod 'SVProgressHUD'

15.FontAwesomeKit

Font Awesome 真的很棒!用这个库,你可以非常方便的在你的项目中添加字体而且在很多方面都可以用它。

CocoaPods:

pod 'FontAwesomeKit'

16.SanpKit

你喜欢自动布局?应该喜欢!

至少在storyboard中喜欢

如果没有一些辅助使用代码构造一个好的布局是非常痛苦的,但幸运的是,SnapKit可以让代码布局变得简单,易懂。

CocoaPods:

pod 'SnapKit'

MGSwipeTableCell

另一个用户界面组件,在许多应用程序中都很常见,苹果应该可以考虑把一些相似的东西添加到标准iOS SDK中。

这里只有三种动画类型,实际还有更多。在Readme中去发现吧。

CocoaPods:

pod 'MGSwipeTableCell'

18.Quick

Swift中的单元测试(对Objective-C也可以),集成了Xcode。如果你是Objective-C的粉丝,我会向你推荐Specta,但是,对于Swift来说,Quick是最好的选择。

CocoaPods:

pod 'Quick'

19.IAPHelper

App内购给我们带来了很多示例代码,这个库都不没有使用,而是给我们一个简单常用的与用户与你(你的公司)交易相关任务封装。

CocoaPods:

pod 'IAPHelper'

saturngod/IAPHelper

20.ReactiveCocoa

好吧,我们遇到一个大家伙。

ReactiveCocoa并不一个小型的,拖拽项目,不像列表中的其他项目。ReactiveCocoa给我们带来了一种完全不同的基于信号值与流值的编程方式/结构它会让你的大脑爆炸,一开始,你需要忘掉你已经学过的来理解它是怎样工作的。这并不轻松,但回报颇丰。

这里不适合开始学习ReactiveCocoa,但是如果你感兴趣,以下资源你可以参考:

CocoaPods:

pod 'ReactiveCocoa'

21.SwiftyJSON

Swift中JSON格式化,从未如此简单。

CocoaPods:

pod 'SwiftyJSON'

22.Spring

动画从未如此简单,可链接而且直接。

CocoaPods:

pod 'Spring'

23.FontBlaster

轻轻松松向你的程序中添加自定义字体。

CocoaPods:

pod 'FontBlaster'

24.TAPromotee

交叉推广你的应用程序是最好的市场策略之一,现在你可以免费实现它们了。使用这个库很简单,你再也不用证明不这样做——添加TAPromotee到你的Podfile,设置好免费等着更多的下载量吧。

CocoaPods:

pod 'TAPromotee'

25.Concorde

你有在你的应用程序中显示过很多JPEG图片吗?使用ConCorde库,你可以用更好看的方式完成。带进度的方式。

CocoaPods:

pod 'Concorde'

26.KeychainAccess

管理Keychain访问的小帮手。



CocoaPods:

pod 'KeychainAccess'

27.iOS-charts

最后一个,也是最重要的一个——iOS图表库!非常实用而且好看,我不会写太多——向下翻查看可以用这个库在你的App里做什么吧!













是的,所有图表者是可以拖拽(或者“写代码”)的组件。

不幸的是,这个库现在还不支持CocoaPods,因此,你需要手动将这个项目拖拽到你的Xcode项目中去。

--
TL;DR,快速访问以上所有库的列表:

1.DZNEmptyDataSet[用户界面,空表格视图解决方案]
2.PDTSimpleCalendar[用户界面,拖拽日历控件]
3.MagicalRecord[Core Data实现活跃记录模式帮手]
4.Chameleon[用户界面,色彩框架]
5.Alamofire[Swift网络框架]
6.TextFieldEffects[用户界面,自定义文本框外观]
7.GPUImage[快速图形处理]
8.iRate[获得用户评论]
9.GameCenterManager[方便管理GameCenter]
10.PKRevealController[用户界面,侧滑菜单]
11.SlackTextViewController[用户界面,高度自定义文本框]
12.RETableViewManager[代码动态创建列表视图]
13.PermissionScope[用户界面,友好的系统权限获取请求]
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开发的文章。

我平日都在写Ecler Studios的程序——随时来查看我的App

我通常把iOS开发相关的发到Twitter上,你也可以关注我

推荐阅读:

27 places to learn iOS Development. Bets ones.

52 people every iOS developer shold follow on Twitter.

关键字: iOS 开发 iOS 苹果


感谢大家看我的翻译,如果有翻译不正确的地方,希望大家可以指出来。
邮件:anar0615@sina.com
微博:Mr_龙0615

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容

  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,289评论 7 249
  • 看过太多tcp相关文章,但是看完总是不过瘾,似懂非懂,反复考虑过后,我觉得是那些文章太过理论,看起来没有体感,所以...
    DNIX阅读 772评论 0 0
  • URL无法显示某些特殊符号,这个时候就要使用编码。 编码的格式为:一个百分号,后面跟对应字符的ASCII(16进制...
    nothing_c阅读 1,503评论 0 0
  • 写文的人一般多数在网页版写,因为界面宽而清晰,但缺点是时间长了会腰酸背痛。 有的人会用手机app来写,既灵活又方便...
    惊鸿独舞阅读 1,159评论 20 16
  • 人会因为某一件错事而影响他的一生吗?这要看事情的严重性吧!? 最近,我做了一件错事,我不知道它会不会对我的未来产生...
    同学你还好吗阅读 241评论 0 0