(iOS)常用的第三方库与插件介绍
以下均从资料收集提供大家参考使用,如有侵权请联系删除。
1.CocoaPods
CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。
Cocoapods意义体现在两个方面。第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。第二,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。
地址:https://github.com/CocoaPods/CocoaPods
2.AFNetworking
目前比较推荐的iOS网络请求组件,默认网络请求是异步,通过block回调的方式对返回数据进行处理。
地址:https://github.com/AFNetworking/AFNetworking
3.SDWebImage
为UIImageView增加一个类别,提供异步加载网络图片,还可以将图片缓存到本地的功能。大概原理是:第一次加载后,会根据url加密作为文件名缓存在本地,如果再次加载图片时,就直接从本地加载
地址:https://github.com/rs/SDWebImage
4.ReactiveCocoa
ReactiveCocoa(简称为RAC),是由Github开源的一个基于functional reactive programming(函数响式编程)、应用于iOS和OS开发的新框架。
ReactiveCocoa为事件提供了很多处理方法,而且利用RAC处理事件很方便,可以把要处理的事情,和监听的事情的代码放在一起,这样非常方便我们管理,就不需要跳到对应的方法里。非常符合我们开发中高聚合,低耦合的思想。
比如按钮的点击使用action,ScrollView滚动使用delegate,属性值改变使用KVO等系统提供的方式。而这些事件,都可以通过RAC处理。
地址:https://github.com/ReactiveCocoa/ReactiveCocoa
5.GPUImage
GPUImage是一个基于GPU图像和视频处理的开源iOS框架,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜;基于GPU的图像加速,因此可以加速对实时摄像头视频、电影以及image的滤镜和其它效果处理,并且能够自定义图像滤镜。另外,GPUImage支持ARC。
使用GPUImage处理图片比Core
Image更简单,只需要将过滤器赋给图片对象即可,不用考虑context或者设备等其他问题。GPUImage提供了除高斯模糊外的其他几种不同效果的模糊,虽然Core Image也提供了几种模糊效果,但目前在iOS上能用的就只有高斯模糊,而GPUImage可用的有FastBlur, GaussianBlur, GaussianSelectiveBlur和BoxBlur。此外,作为开源框架的GPUImage还支持自定义的过滤器。
地址:https://github.com/BradLarson/GPUImage
6.MBProgressHUD
简单易用且稳定的HUD组件,半透明黑底白字的风格也经久不衰,有多种样式可供选择,loading提示的最佳选择。
地址:https://github.com/jdg/MBProgressHUD
7.Masonry
Masonry是一个轻量级的布局框架拥有自己的描述语法采用更优雅的链式语法封装自动布局,简洁明了,并具有高可读性,而且同时支持iOS和Max OS X。
地址:https://github.com/SnapKit/Masonry
8.FMDB
FMDB基于SQLite构建,是对SQLite的封装。相对原生SQLite API来说,它更加友好直观,便于Objective-C开发者调用。不论是在自动引用计数(Automatic Reference Counting,ARC)还是手动内存管理情形下,FMDB都可以分辨,并进行相应优化。
地址:https://github.com/SnapKit/Masonry
9.iCarousel
iCarousel是一个类,它继承于UIView。用于简化实现各种类型的旋转木马(分页滚动视图)iPhone、iPad和Mac OS。iCarousel实现一些常见的影响如圆柱、平面式的旋转木马。经过iCarousel类的封装,使iCarousel类的使用方式类似于UITableView的使用,每一个界面类似于一个单元格。iCarousel类为我们提供了十几种分页效果,我们还可以使用iCarousel类中的(BOOL)vertical属性设置显示效果是垂直显示还是水平显示。
地址:https://github.com/nicklockwood/iCarousel
10.MJRefresh
MJRefresh用法简单的下拉刷新框架,提供了常用的刷新操作,还有刷新动画。
地址:https://github.com/CoderMJLee/MJRefresh
11.PNChart
简单带有动画效果的图表库。
地址:https://github.com/kevinzhow/PNChart
12.JSONKit
优秀的第三方JSON解析库,性能很高,文件少。如果工程只需要支持iOS5以上的系统,那就可以放弃那些第三方Json库了,直接用系统提供的NSJSONSerialization,性能比第三方的好,又是官方API。
地址:https://github.com/johnezang/JSONKit
13.WebViewJavascriptBridge
顾名思义,WebViewJavascriptBridge即为连接UIWebView和JavaScript的桥梁。它能够非常优雅地实现在使用UIWebView或WebViews时JavaScript与Objective-C之间的互调,支持消息发送、接收、消息处理器的注册与调用,以及设置消息处理的回调。
地址:https://github.com/marcuswestin/WebViewJavascriptBridge
14.MMDrawerController
简单易用的抽屉式导航控件。
地址:https://github.com/mutualmobile/MMDrawerController
15.JSONModel
JSONModel是一个iOS库可以让你快速创建智能的JSON数据模型,可在iOS和OSX应用中使用。
地址:https://github.com/icanzilb/JSONModel
16.MJExtension
转换速度快、使用简单方便的字典转模型框架。
地址:https://github.com/CoderMJLee/MJExtension
17.IQKeyboardManager
我们写界面要考虑很多用户体验问题,键盘事件的响应就是比较麻烦的一种。我们需要监听键盘事件,考虑点击背景收起键盘、考虑键盘遮挡输入框问题等等,而且每个界面都要做这么一套。这个库帮我们解决了这个事情。
地址:https://github.com/hackiftekhar/IQKeyboardManager
18.DTCoreText
DTCoreTextView富文本控件,该控件有如下特点:
通过HTML创建富文本,比UIWebView更加快速。
支持图片,链接标签。
支持HTML5 video标签。
支持列表,文本对齐标签。
支持局部的CSS
style。
地址:https://github.com/Cocoanetics/DTCoreText
19.ZXingObjC
zxing是Google出品的二维码扫描组件原本是Java编写的现在也有了各种语言的移植版而ZXingObjC就是其中之一。
zxing支持各种主流的一维码二维码扫描简单易用小厂如果要实现二维码扫描这个功能基本都会选择zxing。
不过iOS7已内置了二维码摄像头扫描而iOS8也已内置了二维码静态图扫描以后可能再也不需要用到ZXing了。
地址:https://github.com/TheLevelUp/ZXingObjC
20.XMPPFramework
XMPPFramework是一个使用Objective-C编写的用于Mac/iOS开发的XMPP框架,它提供了一个RFC-3920(XMPP标准)核心实现,通过某些特定工具读写XML。XMPPFramework有着非常丰富的建立在模块化架构之上的XEP扩展,开发者可以将其直接插入到代码中,使用GCD构成,即使是在非常老旧的iPhone或12核Mac Pro上,它都能高效运转。
地址:https://github.com/robbiehanson/XMPPFramework
21.GTMBase64
base64加密解密
地址:https://github.com/r258833095/GTMBase64
22.popping
Facebook开源的iOS动画库,集合了很多动画效果。
地址:https://github.com/schneiderandre/popping
23.iOS-Runtime-Headers
对于每一个iOS开发者而言,iOS-Runtime-Headers这个iOS运行时头文件项目绝对值得收藏。除了iOS运行时头文件之外,iOS-Runtime-Headers还附带搜索及版本对比功能。通过它,开发者可以调用苹果允许调用及禁止的一切函数
地址:https://github.com/nst/iOS-Runtime-Headers
24.Reader
该项目能够让iOS开发者轻而易举地在iOS设备屏幕上显示PDF文件。代码通用,不需要任何XIB(因为所有UI元素都是代码生成的,具有极大的灵活性),运行于iOS 4.0及其以上版本设备中,同时还支持所有Retina Display设备。
支持:
诸如iBooks等的文档导航;
设备全方位旋转;
对PDF进行加密(密码保护);
PDF链接(URI及跳转页面);
PDF旋转页面。
地址:https://github.com/vfr/Reader
25.CocoaAsyncSocket
CocoaAsyncSocket提供了十分强大而又易用的Mac OS X及iOS异步套接库,支持TCP和UDP,其中,AsyncSocket类是支持TCP的,AsyncUdpSocket是支持UDP的。
AsyncSocket是封装了CFSocket和CFSteam的TCP/IP socket网络库,提供异步操作。AsyncUdpSocket是UDP/IP socket网络库,包装自CFSocket
地址:https://github.com/robbiehanson/CocoaAsyncSocket
26.hpple
非常棒的基于OC语言的XML/HTML解析器。
地址:https://github.com/topfunky/hpple
27.UITableView-FDTemplateLayoutCell
自动计算UITableViewCell的行高。
地址:https://github.com/forkingdog/UITableView-FDTemplateLayoutCell
28.JazzHands
Jazz Hand是一个简单的基于keyframe的UIKit动画框架。动画可以通过手势,scrollviews,KVO或者ReactiveCocoa控制。
地址:https://github.com/IFTTT/JazzHands
29.MLEmojiLabel
自动识别网址、号码、邮箱、@、#话题#和表情的label。可以自定义自己的表情识别正则,和对应的表情图像。(默认是识别微信的表情符号)
地址:https://github.com/molon/MLEmojiLabel
30.AGEmojiKeyboard
AGEmojiKeyboard是iOS上一个实现了对emoji表情支持的键盘控件。
地址:https://github.com/ayushgoel/AGEmojiKeyboard
31.SDAutoLayout
一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应,致力于做最简单易用的AutoLayout库。
地址:https://github.com/gsdios/SDAutoLayout
Xcode常用插件
1.Alcatraz
与CocoaPod类似Alcatraz是Xcode的插件管理器能够让你方便的管理Xcode的插件(不仅可以管理插件还可以管理主题等等)
地址:https://github.com/alcatraz/Alcatraz
2.FuzzyAutocomplete
FuzzyAutocomplete强大的模糊匹配输入让你写代码的时候再也不用费脑子去记住名字那么长的对象或者函数名了。
地址:https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin
3.VVDocumenter-Xcode
能够识别当前函数的参数和返回类型帮助你快速编写符合规范的注释(目前是以Javadoc为标准),只要输入三个斜线”///”,就可以了。
地址:https://github.com/onevcat/VVDocumenter-Xcode
4.KSImageNamed-Xcode
图像名称填写的自动补全,你只要输入[NSImage imageNamed:或者是[UIImage
imageNamed:,你工程中所有图片的名称都会显示出来。
地址:https://github.com/ksuther/KSImageNamed-Xcode
5.DashPluginfor Xcode
Dash Xcode plugin是Bogdan Popescu开发的一款集成了Dash文档查看器应用的Xcode插件,允许开发者在使用Option-Click或作用相同的快捷键操作查看当前文本的相关文档时,用Dash代替Xcode的文档查看器。
地址:https://github.com/ksuther/KSImageNamed-Xcode
6.HOStringSense-for-Xcode
经常输入大段文本的时候,如果文本里面有各种换行和特殊字符,经常会让人很头疼,有了HOStringSense,再也不不用为这个问题犯愁了,顺便附送字数统计功能。
地址:https://github.com/holtwick/HOStringSense-for-Xcode
7.ColorSensefor Xcode
ColorSense是一个Xcode插件,提供更加可视化的效果来管理UIColor和NSColor.
地址:https://github.com/holtwick/HOStringSense-for-Xcode
8.RTImageAssets
非常棒的图片转换插件,当你使用Ctr+Shift+A是可自动从@3x分辨率的图片获取@2x,@1x的图片,也可以自动从@2x获取@3x,@1x的图片。
地址:https://github.com/rickytan/RTImageAssets
9.XAlign
提供各种自动对齐方案,支持“=”
“@”和property的自动对齐。安装之后就赶紧把项目所有牵扯到的地方都用快捷键敲一下吧。
地址。
https://github.com/qfish/XAlign
10.cocoapods-xcode-plugin
一般App在pod稳定了之后应该会很少修改,但是这个库提供的功能也是极好的,可以实现pod install,新建/修改podfile,新建/修改podspec文件。
地址:https://github.com/kattrali/cocoapods-xcode-plugin
11.SCXcodeSwitchExpander
switch枚举的时候会自动生成代码。
地址:https://github.com/stefanceriu/SCXcodeSwitchExpander
12.DXXcodeConsoleUnicodePlugin
debug栏打印时自动把/ueo6转化成汉字。
地址:https://github.com/dhcdht/DXXcodeConsoleUnicodePlugin