你绝对不想错过
我喜欢开源!
而且我也喜欢那些花费宝贵时间来创造好玩的东西并不求回报地与他人分享这些东西的开发者。所有为开源做贡献的人们,你们都太棒了!感谢你们的努力!
下面,从我日常工作中我自己的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使用了这个库——我的其中一个也使用了:
在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值、文本、日期等,看下图),但你也可以自定义视图与默认的一起使用。
如果没有这个库,你可以在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'
20.ReactiveCocoa
好吧,我们遇到一个大家伙。
ReactiveCocoa并不一个小型的,拖拽项目,不像列表中的其他项目。ReactiveCocoa给我们带来了一种完全不同的基于信号值与流值的编程方式/结构它会让你的大脑爆炸,一开始,你需要忘掉你已经学过的来理解它是怎样工作的。这并不轻松,但回报颇丰。
这里不适合开始学习ReactiveCocoa,但是如果你感兴趣,以下资源你可以参考:
- Getting Started with ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa Tutorial - The Definitive Introduction: Part 1/2
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