27个提升效率的iOS开源库推荐!!!

摘要:本文作者根据个人喜欢选取了一些能够大幅提升开发效率的iOS开源库,包括DZNEmptyDataSet、PDTSimpleCalendar、MagicalRecord、Alamofire等,开发者可以非常轻松地将其添加到Xcode项目中。

CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投稿、参与内容翻译工作,或寻求近匠报道,请发送邮件至tangxy#csdn.net(请把#改成@)。
我热爱开源,更喜爱那些花费宝贵的业余时间来创造奇迹的开发者们,感谢他们将自己辛苦劳动的成果无偿分享给大家。开源作者和贡献者们,你们太了不起了,感谢你们所付出的一切。
鉴于我是收集不全会死星人,这里我根据个人喜好选取了一些iOS的开源库。这些项目的顺序完全随机,每个都棒到爆。绝大多数支持CocoaPods,所以将它们添加到你的Xcode项目中只是小事一桩。
在本文末尾你可以找到一个长文慎入版本——一个只包含题目与项目链接的简单列表。如果你觉得这篇文章有用的话,请把它分享给其他做iOS开发的小伙伴们,好酒也怕巷子深。
1.DZNEmptyDataSet
DZNEmptyDataSet算是一个很标准的iOS内建方式,适合用来处理空的table view和collection view。默认情况下,如果你的table view为空,屏幕就为空,这样一来用户体验并不理想。


使用这个库,你只需遵守一些协议,iOS就会自动将collection view处理完善,并将用户消息以合适美观的方式显示出来。每个iOS项目都可以自动处理,不用再一一费神。
2.PDTSimpleCalendar
你的应用需要一个简单美观且正常运行的日历组件吗?现在有了——PDTSimpleCalendar也许可以算是iOS最棒的日历组件了。你可以在各个方面对它进行定制,无论是运行逻辑还是外观方面。

3.MagicalRecord
他们都说:Core Data简洁易用。他们又说:很棒很好用噢。哈?真的吗,苹果?添加到各个项目中的大量样板数据完全不符合简洁而易用的标准。更别提添加、移除和更新那一大堆的entities、保存context、按不同环境创建不同的Core Data堆栈等等。当然,我很喜欢Core Data,但是苹果真的可以把它更好地简化一下——使用MagicalRecord方式。

MagicalRecord就像是给Core Data提供了一层外包装,隐藏掉所有不相关的东西。如果你曾经使用过active record模式(比如Ruby on Rails),你就知道了。倾情推荐,在应用中使用Core Data的童鞋们可一定要试试。
4.Chameleon
如果你已经看到这里了,我猜你更有可能是个程序猿,而不是设计狮。这里有个东东很适合你。

Chameleon是一个iOS的色彩框架。它运用现代化flat color将UIColor扩展地非常美观。我们还可以通过它运用自定义颜色创建调色板。它还有很多功用,请浏览readme。如果你想要应用美观的话,一定要把这个库加到项目里。

5.Alamofire
Alamofire是一个简洁的网络库,用Swift语言编写。你是否曾经使用过AFNetworking呢?Alamofire是它的小弟。更年轻更时尚,当然(AFNetworking是用Objective-C编写的)。

如果你需要进行网络的相关工作,诸如下载、上传与获取JSONs等等的话,Alamofire正是你所需要的。GitHub上8000人次推荐,一定不会错。
6.TextFieldEffects
你不觉得标准的UITextField有些枯燥么?我也这样想——来认识一下TextFieldEffects吧!废话不多说,只要看几个例子:



是啊,都是些简单的dropin控制器。你甚至可以在storyboard中使用IBDesignables。
不幸地是:这个库不支持CocoaPods(如果你来自未来,而这一情况什么时候会改变的话,一定要在Twitter上告诉我),但是它支持Carthage。你只管从GitHub上下载项目,把它放入你的workspace就行了。
7.GPUImage
你曾经写过照相机应用吗?如果没有的话,很快你一定会遇到这个库的。

GPUImage为我们提供了一个GPU加速的照相机效果(同时支持照片与视频),而且处理速度飞快。在App Store中,使用这个库的应用数以百计。我有一个应用也用到了GPUImage。它在GitHub上获得了8869个star,而且还在增长。

8.iRate
想要在App Store中获得更多评论的最佳方式是什么?想要回答这个问题,我缺乏切实数据,但如果必须猜一下的话,我会建议问问用户。也许这样做有点老套——大多开发者现在都有创建定制的应用内置alert。
但是如果你没有时间,或者不想从头实现的话,最好用一下iRata。这个就是iRata——一个小型库——你可以把它放入项目中,把问卷调查什么的都忘记吧,iRate会在恰当的时候为你解决这个问题。
9.GameCenterManager
无论你喜不喜欢单例模式,管理一个GameCenter都比我们已知的其他相反模式要好很多。(你的游戏只有一个GameCenter,对吗?)

说实话,在iOS上管理GameCenter vanilla并不算难,但是有了这个库会更简单也更快。好上加好不是更好么。

我在我一个游戏中用到了这个,体验很好。
10.PKRevealController 2
这个要注意,真的很棒!是我最喜爱的iOS控件之一。PKRevealController是一个可以滑动的侧边栏菜单(可向左、向右或者同时向两侧),只需手指轻轻一点(或者按一下按钮,但是这样滑动时不够炫酷)。

我试过一些可以提供这类控制的其他库,而PKRevealController是最棒的。安装简便,高度定制且对手势识别良好。可以当做一个标准控件用在iOS SDK中。
11.SlackTextViewController
你曾经用过Slack iOS应用吗?如果你在较大的软件公司工作,也许会用过。对那些没用过的人呢?—?Slack令人激动。用到Slack的应用也是这样,尤其是用作极佳、定制的文本输入控制时。这时你有了一个现成可用在应用中的代码。
自适应文本区域?试一下。
手势识别、自动填充、多媒体合并?试一下。
快速drop-in解决方案?试一下。
其他还想要什么?
12.RETableViewManager
RETableViewManager可以帮助你进行动态创建与管理table views。它给我们提供了预定义cells(bool类型、文本、日期等等——请看下面的截图),但是你还可以创建自定义views,并与默认视图一同使用。

左侧截图显得非常古板!在storyboard中没有这个库的时候,你能做的就是这些了,但是有时候代码比可视化编辑器要好。
13.PermissionScope
用这个库可以在询问用户前,就告知用户所需的系统权限,为用户带来更好的体验。接受度更高—>更多活跃用户->更高的留存率->数据更好->下载率更高。墙裂推荐pod。

14.SVProgressHUD
这张图片在正常加载,无需等待太久或者刷新页面。这正是SVProgressHUD在你的应用中的表现。如果你需要定制化的等待提示器,这个就是了(也许是最好的)。

15.FontAwesomeKit
Font Awesome很棒,有了它你可以很容易地给项目加字体,使用方式繁多。

16.SnapKit
喜欢自动布局吗?当然喜欢!至少在storyboard中创建时会喜欢。在代码中纯手工创建约束灰常痛苦,但幸运的是我们有了SnapKit,在board中用上它,你可以简单直观地编写约束了。

17.MGSwipeTableCell
这是另一个常见于很多应用中的UI组件,苹果应该考虑在标准的iOS SDK中加入一些类似的内容。Swipeable表格cell是这个pod的最佳描述,也是最好的。



这只是其中三个动画类型,还有更多变化,请查看readme。
18.Quick
用于Swift中的单元测试(也可用于Objective-C),与Xcode整合在一起。如果你是Objective-C的粉丝,我建议用Specta代替这个,但是对Swift使用者来说,Quick是最佳选择。


19.IAPHelper
应用内付费给我们提供了很多样本代码,而这个库丢掉了那些代码,将金钱交易相关的大多通用任务做了简单的封装。
20.ReactiveCocoa
好吧,这是个小怪物。
ReactiveCocoa并不像列表中其他库一样,它不是小型的drop-in项目。ReactiveCocoa给我们带来了一个迥异的编程风格与结构,它是基于信号与数据流的。首先你需要忘掉已知的一切,才能理解它的工作方式。很有难度,但是价值不斐。

在这里教ReactiveCocoa有点不合适,但是如果你感兴趣的话,我会提供一些好源:
Getting Started with ReactiveCocoa
Mattt Thompson:Reactive​Cocoa
ReactiveCocoa Tutorial – The Definitive Introduction: Part 1/2

注意:对我们iOS开发社区的朋友来说,这会是一个稍微有些技术含量的活儿。
21.SwiftyJSON
使Swift的JSON解析变得简单。
22.Spring
使动画在简单性、可链接性与声明性方面有所提高。


23.FontBlaster
载入定制字体时更简单。
24.TAPromotee
交叉推广应用是你可以免费实现的最佳市场推广策略之一。使用这个库做起来非常简单,不用都不可能——将TAPromotee加入你的podfile中,免费配置与享受更多下载吧。

25.Concorde
你在应用中载入了一堆jpeg吗?有了Concorde,你可以用更好的方式来解决,这是一个很大的进步。

26.KeychainAccess
管理Keychain接入的小助手。

27.iOS-charts
最后一个,但绝不是最不重要的——iOS图表库!非常有用而且美观,这里我无需赘言。向下看,你就知道用它可以做什么了。

没错,一切都变成了drop-in组件了(也许是“code-in组件)。


不幸的是,它还不支持CocoaPods,所以你得手动把它拽到你的Xcode workspace里面去。

超长慎入列表:
DZNEmptyDataSet(UI,空表格视图解算器)
PDTSimpleCalendar(UI,drop-in日历组件)
MagicalRecord(实施活跃记录模式的Core Data助手)
Chameleon(UI,色彩框架)
Alamofire(Swift 网络)
TextFieldEffects(UI,自定义外观的文本区域)
GPUImage(快速图片处理)
iRate(获取用户评价)
GameCenterManager(快速管理游戏中心)
PKRevealController(UI,滑动侧边栏菜单)
SlackTextViewController(UI,高度可定制的自定义文本区域)
RETableViewManager(自动以代码创建表格视图)
PermissionScope(UI,预询问用户系统权限的友好体验)
SVProgressHUD(UI,自定义等待进度条)
FontAwesomeKit(快速添加Awesome字体)
SnapKit(在代码中快速自动布局)
MGSwipeTableCell(UI,可滑动的表格视图cell)
Quick(Swift单元测试框架)
IAPHelper(应用内购买助手封装)
ReactiveCocoa(FRP框架)
SwiftyJSON(Swift JSON库)
Spring(动画框架)
FontBlaster(在应用中快速载入个性化字体)
TAPromotee(使用drop-in视图交叉推广应用)
Concorde(下载解码渐进式jpeg)
KeychainAccess(简便管理keychain)
iOS-charts(美观的图表库)

Tip : 文章转载自酷勤网

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

推荐阅读更多精彩内容

  • 问题:关于财富方面的匮乏意识引发的恐惧怎么办? 温雅解答:刚才有咨询我的家人问到。我以文字发在群里方便大家看:匮乏...
    温雅老师阅读 671评论 0 1
  • 我在感恩节的第二天收到了来自秋天的前程似锦的闪电 信封上的邮票已被梦的口水弄脏 我还是像往常一样没有在乎地吻了你的...
    第五殿阅读 828评论 3 3
  • 当我与小朋友合作,用小积木砌完一整个“小黄人”的时候,内心是愉悦的——不亚于做完一个项目。这个小黄人的完成,至少用...
    怡记阅读 1,429评论 3 8