30个精品iOS开源库,超强助攻

你不会想错过他们,真的。

我爱开源。 

文章的尾部你会看到一个太长不看的版本——一个简单的列表,只有标题和到项目的链接。如果你发现这篇文章是有用的,把它和你的iOS开发者兄弟们分享。好东西需要被传播。

DZNEmptyDataSet

这本应该是iOS中一个标准、内置的解决空table和collection view的方式。默认的如果你的table view是空的,屏幕就是空的。但这不是你能提供的最好的用户体验。

用了这个库,你只需要遵循一系列协议,iOS会优雅地接管你的collection view并且会正确、好看地显示给用户信息。很明显,每个iOS项目都应该采用。

这是完全可自定义的。

CocoaPods:

pod ‘DZNEmptyDataSet’

GitHub

2. PDTSimpleCalendar

你的app是否需要一个简单、好看并且有效的日历组件呢?

现在你有了——PDTSimpleCalendar很有可能是最棒的iOS日历组件。有很多方式来自定义它,逻辑有效而且好看。

CocoaPods:

pod 'PDTSimpleCalendar'

GitHub

3. MagicalRecord

他们说,Core Data很简单。他们说,它很好很简单。哈哈,你是认真的吗,苹果?一顿陈词滥调的代码被添加到每个项目里,这真的不够优雅和简单。更不用说添加、移除和更新很多实体,保存上下文,为不同的环境创建不同的Core Data栈,等等等等。我当然很喜欢Core Data,但是苹果真的可以通过一个简单的好方法来简化它——MagicalRecord方法。

MagicalRecord的工作就像一个Core Data的包装,并且向开发者隐藏了所有无关的东西。如果你曾经用过活跃纪录模式(例如Ruby on Rails),那你已经掌握它了。如果你在app里用Core Data的话真的真心推荐这个库。

CocoaPods:

pod 'MagicalRecord'

GitHub

4. Chameleon

如果你读到了这一点,你是一个很好的程序员,而不是一个设计师。这就是为你准备的。

Chameleon是iOS的一个颜色框架。它用好看、摩登的扁平化颜色扩展了UIColor。它也给了我们能力来创建调色板,里面是我们自己定义的颜色。它可以做很多其他事,探索readme文件。如果你想要好看的应用程序,快把这个库加到你的项目里吧。

Chameleon基础扁平化颜色

CocoaPods:

pod 'ChameleonFramework'

GitHub

5. Alamofire

Alamofire是一个用Swift写的优雅的网络库。你曾经用过AFNetworking吗?ALamofire是它的弟弟。年轻也更有才华,当然啦(AFNetworking是用Objective-C写的)。

需要做网络相关比如下载、上传、获取JSON等等?Alamofire是为你准备的。GitHub上8000人的选择不会错。

CocoaPods:

pod 'MagicalRecord'

GitHub

6. TextFieldEffects

你不觉得标准的UITextField有一点无聊吗?我也是——所以对TextFieldEffects说hello吧!我不会写太多,我只会展示你一些这个库可以做的例子:

 

是的,这些就是简单的易用的控制器。你甚至可以用storyboard里的IBDesignable!

不幸的是这个库不支持CocoaPods(如果你来自未来,而这在一些时间之前改变了的话,请在Twitter上让我知道),但它支持Carthage。你也可以简单的从GitHub下载项目,并且把它添加到你的workspace里。

Carthage:

github "raulriera/TextFieldEffects"

GitHub

7. GPUImage

你曾经创建过一个摄像机app吗?如果没有,看完这个库你就肯定会的。

GPUImage可能性

GPUImage提供我们一个GPU-accelerated摄像头效果(图像和视频都可以),熊熊燃烧般的速度。App Store里有几百个app使用这个库——其中就有我的一个:

我的一个app中用的GPUImage

GitHub上8869个收藏并且还在持续增加。

CocoaPods:

pod 'GPUImage'

GitHub

8. iRate

在App Store获得更多评价最好的方式是什么?我没有明确的数据来回答这个问题,但如果要我来猜测的话,我会说只要简单的询问用户就可以了。也许这是一个老套的方式——大部分开发者现在创建自定义的app内置提醒——但如果你没有时间或者不想所有事都从头做起,用iRate比不用要好。并且这就是iRate——一个小库,你包含在你的项目里并且忘记询问用户去评价了——iRate会自动替你完成,在合适的时间里。

CocoaPods:

pod 'iRate'

GitHub

9. GameCenterManager

喜欢或讨厌一个人,在这种情况下管理Game Center非常简单,只需要一点我们最著名的反模式的帮助(你的游戏里只有Game Center,对吧?)

诚实地说,在iOS里香草管理Game Center并不是那么困难,但用这个库就是简单和快速。更好的是好的敌人。

我的一个游戏里就用了它,真是一个愉悦的体验。

CocoaPods:

pod 'GameCenterManager'

GitHub

10. PKRevealController 2

这是一个真正的精品,我最喜欢的iOS控件之一。PKRevealController是一个可滑动的侧边栏(向左、向右或者都可以),用你的手指来滑动(或者只通过点击按钮,但这样就没有滑动酷了)。

我使用过一些其它库,提供这种控件,PKRevealController是最好的。设置起来很简单,高度可自定义,手势识别非常非常好。它真的足够成为一个 iOS SDK 标准控件了。

CocoaPods:

pod 'PKRevealController'

GitHub

11. SlackTextViewController

你曾经用过Slack iOS app吗?如果你在一个更大的软件公司工作的话,很有可能回答是。对于没有这么回答的人——Slack很坚硬。Slack的iOS app也是,特别是对于很好的、自定义的文本输入控件…就是你现在有的——你的app里可以用的代码!

自增长文本域?对的。手势识别,自动填充,多媒体粘贴?对的。简单的易用的?对的。你还可能需要什么?

CocoaPods:

pod 'SlackTextViewController'

GitHub

12. RETableViewManager

RETableViewManager会帮助你动态创建和管理你的table view,都用代码。它提供我们预先定义好的cell(布尔型、文本、日期等等。——看下面的截图),你也可以创建你的自定义视图,和默认的一起使用。

左侧截图好老套!

这些你都可以在storybard里做而不需要这个库的帮忙,但有的时候代码比可视化编辑器更简单。

CocoaPods:

pod 'RETableViewManager'

GitHub

13. PermissionScope

有用的库,通过在询问用户之前提示用户需要系统许可带来更好的用户体验。高度可接受程度->更多用户活动使用app->更好的留存->更好的数据->更多的下载。被高度推荐的pod。

CocoaPods:

pod 'PermissionScope'

GitHub

14. SVProgressHUD

这个图片正在被正确的加载,不会等很久也不需要刷新页面。这就是SVProgressHUD在你的app里看起来的样子。如果你需要自定义等待指示,这里就有一个(很有可能就是最好的)。

CocoaPods:

pod 'SVProgressHUD'

GitHub

15. FontAwesomeKit

Font Awesome很酷,用这个库你可以轻松地添加字体到你的项目里,并且在多种方式里使用它。

CocoaPods:

pod 'FontAwesomeKit'

GitHub

16. SnapKit

喜欢auto layout?你应该!

至少在storyboard里创建的时候。

用代码创建constraints是痛苦的,如果没有帮助的话,但幸运的是SnapKit在这里,使用它你可以轻松写你的constraints,声明方式。看看吧。

CocoaPods:

pod 'SnapKit'

GitHub

17. MGSwipeTableCell

另一个UI组件,在很多app里都常见,苹果应该考虑在iOS标准库里加入类似的东西。可滑动的table cell,这是这个pod最好的描述。最好的一个。

这些只是3个动画种类,还有很多。探索readme文件。

CocoaPods:

pod 'MGSwipeTableCell'

GitHub

18. Quick

Swift里的单元测试,给Swift(好吧,要给Objective-C),和Xcode融为一体。如果你是一个Objective-C粉,我会推荐你Specta而不是这个,但对于Swift Quick很有可能是最好的。

CocoaPods:

pod 'Quick'

GitHub

19. IAPHelper

app内购带给我们很多陈词滥调的代码,用这个库就不需要了,把最有关交易金钱的普遍的任务从iOS用户到你的(或者你的公司的)钱包简单包装起来。

CocoaPods:

pod 'IAPHelper'

GitHub

20. ReactiveCocoa

好吧,这里我们有一个小怪兽。

ReactiveCocoa并不是很小、易用的项目,就像这个列表里其它项目一样。ReactiveCocoa带给我们一种完全不同的编程方式/结构,基于值的信号和流。这是完全的头脑风暴,首先你需要忘记你曾经学习的来理解它是如何工作的。这不是一个简单的任务,但是是有回报的。

这不是一个合适的地方来教你使用ReactiveCocoa,但我会给你一些好的资源,如果你感兴趣的话。

Getting Started with ReactiveCocoa

ReactiveCocoa

ReactiveCocoa Tutorial - The Definitive Introduction: Part 1/2

CocoaPods:

pod 'ReactiveCocoa'

GitHub

21. SwiftyJSON

让Swift里的JSON解析更简单。

CocoaPods:

pod 'SwiftyJSON'

GitHub

22. Spring

做动画更简单、可链和声明。

CocoaPods:

pod 'Spring'

GitHub

23. FontBlaster

在app里加载自定义字体更简单。

CocoaPods:

pod 'FontBlaster'

GitHub

24. TAPromotee

交叉推销你的app是最棒的销售策略之一,你可以在它们中免费实现。用这个库非常简单,你不再能为自己辩解为什么不用它——增加TAPromotee到你的podfile,配置、然后免费享受更多下载。

CocoaPods:

pod 'TAPromotee'

GitHub

25. Concorde

在你的app加载很多JPEG吗?用Concorde你可以加载地更好看。有进度的方式。

CocoaPods:

pod 'Concorde'

GitHub

26. KeychainAccess

管理钥匙串权限的小帮手库。

CocoaPods:

pod 'KeychainAccess'

GitHub

27. iOS-charts

最后但重要的——iOS图表库!很简单和有效,我不会在这儿写太多——滑动到下面去看在你的app用它可以干嘛。

是的,所有东西都是可用的,作为一个可放进去(好吧,也许是“可写进去”)的组件。

不幸的是目前还没有CocoaPods支持,所以你需要手动拖动项目到你的Xcode workspace中。

所有库的太长不看列表,快速访问:

1. DZNEmptyDataSet [UI, 空table view解决方案]

2. PDTSimpleCalendar [UI, 可放入日历组件]

3. MagicalRecord [Core Data帮手实现活动记录模式]

4. Chameleon [UI, 颜色框架]

5. Alamofire [Swift网络]

6. TextFieldEffects [UI, 自定义外观text fields]

7. GPUImage [快速图像处理]

8. iRate [获得用户评价]

9. GameCenterManager [轻松管理Game Center]

10. PKRevealController [UI, 滑动边栏]

11. SlackTextViewController [UI, 高度自定义text field]

12. RETableViewManager [用代码动态创建table view]

13. PermissionScope [UI, 巧妙的提前问用户要系统许可]

14. SVProgressHUD [UI, 自定义等待菊花]

15. FontAwesomeKit [轻松地添加酷字体到你的app中]

16. SnapKit [用代码轻松auto layout]

17. MGSwipeTableCell [UI, 可滑动的table view cells]

18. Quick [Swift 单元测试框架]

19. IAPHelper [app内购封装帮手]

20. ReactiveCocoa [FRP框架]

21. SwiftyJSON [Swift JSON库]

22. Spring [动画框架]

23. FontBlaster [轻松在app中加载自定义字体]

24. TAPromotee [在你的app中交叉提示,置入界面]

25. Concorde [下载和解码进度化JPEGs]

26. KeychainAccess [轻松管理钥匙串]

27. iOS-charts [漂亮的图表库]


感谢阅读,真是一个长列表!如果你认为创建是有价值的,请分享它,通过点击文章下方的分享按钮——更多人会从中受益。并且如果你是一个Meduim用户,请点击推荐按钮——它会鼓舞我创建更多iOS开发文章!

One more thing——如果你在读这篇文章,你很有可能是个iOS开发者。很多iOS开发者也是iPhone用户——所以我有一些你可能感兴趣的东西。

我运行着一个每周一次手选最好的iOS app和游戏——看看吧,我关注高质量并且只挑选酷的app。连接也会很酷!

iOS----精品开源库-开发强力助攻的更多相关文章

  1. .net使用cefsharp开源库开发chrome

    .net使用cefsharp开源库开发chrome 离上篇写介绍pc端的混合开发和为什么以cefsharp入手研究混合开发已经有好几天,一直忙,抽不出时间继续写怎么搭建cefsharp开发环境.其实没 ...

  2. IOS常用开源库

    转自:http://www.csdn.net/article/2013-06-18/2815806-GitHub-iOS-open-source-projects-two/1 1. AFNetwork ...

  3. iOS第三方开源库的吐槽和备忘(转)

    原文:http://www.cocoachina.com/industry/20140123/7746.html 做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽.   目前比较活跃的社区 ...

  4. iOS第三方开源库的吐槽和备忘

    转自:http://blog.ibireme.com/2013/09/23/ios-third-party-libs/#more-41361 由 ibireme 发表于 2013/09/23 做iOS ...

  5. 33 个 2017 年必须了解的 iOS/swift 开源库第三方库

    本文翻译自Medium,原作者为 Paweł Białecki<img src="https://pic3.zhimg.com/v2-c786777447261347b0d97 ...

  6. 谈一谈做iOS播放器库开发所涉及的知识点

    在自己研究生毕业的时候,想着能找上一份做视频编解码的工作,可惜没有如愿,最后到了一家iOS游戏渠道公司去做游戏支付业务的SDK开发,我的iOS正式开发生涯就这么开始了. 在那家iOS游戏渠道没做上一年 ...

  7. .net使用cefsharp开源库开发chrome浏览器(一)

    一.背景 公司现在使用.NET技术,有web组.有winfrom桌面组.而这两组团队业务部分有分多相似的地方,使用的数据源也是相同的,以此造成两组团队之间做了很多彼此都已经做过的工作. 有什么办法使得 ...

  8. IOS创建开源库步骤,提交cocoa pods官网,别人可以使用

    1.打开终端进入某个目录执行  pod lib create BMBlinkButton,按命令步骤执行. 2.目录结构 3.修改BMBlinkButton.podspec文件 4.进入Example ...

  9. IOS 第三方开源库记录

    网易客户端使用 1.ZipArchive 2.wax 3.TTTAttributedLabel 4.SSKeychain 5.SDWebImage 6.RegexKitLite 7.pop 8.NJK ...

随机推荐

  1. Eclipse中添加MyEclipse插件

    下载准备: 下载myeclipse7.0:http://downloads.myeclipseide.com/downloads/products/eworkbench/7.0M1/MyEclipse ...

  2. UVA439 knightMoves (A*启发搜索)

    第一个A*,纪念下. A*要保证最短路一定要估价函数小于等于实际值,越接近越好 估价函数取Manhattan距离除以二. //Rey #include<cstdio> #include&l ...

  3. UVA 714 Copying Books 抄书 (二分)

    题意:把一个包含m个正整数的序列划分成k个非空的连续子序列.使得所有连续子序列的序列和Si的最大值尽量小. 二分,每次判断一下当前的值是否满足条件,然后修改区间.注意初始区间的范围,L应该为所有正整数 ...

  4. UVA 1615 Highway 高速公路 (区间选点)

    题意:在一条线段上选出尽量少的点,使得和所有给出的n个点距离不超过D. 分别计算出每个点在线段的满足条件的区间,然后就转化成了区间选点的问题了,按照右端点排序,相同时按照左端点排序,按照之前的排序一定 ...

  5. 怎么在WEBSTORM中设置代码模板 Live Templates

    怎么在WEBSTORM中设置代码模板 Live Templates setting 里面 https://www.cnblogs.com/xinzaimengzai/p/9938464.html

  6. 在ProgressBar控件中显示进度百分比

    实现效果: 知识运用: ProgressBar控件的Value属性 //控件的当前值 Maximum属性 //ProgressBar正在使用的范围的上限 PerformStep方法 //按照Step属 ...

  7. Java String Integer转换 练习:编程求字符串“100”和“150”按十进制数值做差后的结果以字符串形式输出。

    package com.swift; public class String_To_Integer_Test { public static void main(String[] args) { /* ...

  8. cocos2dx 字体描边遇到的描边缺失的bug

    在cocos中,设置字体描边可以用enableOutline(cc.c4b(30, 10, 0, 255), 2)函数设置,第一个参数是字体颜色,第二个参数是描边轮廓大小,单位是2个像素, 我在使用过 ...

  9. js中charAt()与charCodeAt()区别

    1. str.charAt(index); 返回指定位置的字符 字符串中第一个字符的下标是 0.如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串. ind ...

  10. Vue基础指令集锦

    v-model双向绑定数据 <input type="text" v-model="msg"> {{msg}} ###v-on 事件 <div ...