该10大iOS开发者最喜好的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾。每一个团队都要根据如下规则选出五个最好的库:1)不能投本身写的库;2)排除大的架构,好比游戏类架构;3)排除不在设备上运行的库,例如CocoaPods或者Rack::CoreData也排除在外。html
最终评选出了以下10大iOS开发者最喜好的库:web
1)SSToolkit编程
Sam Soffes简直就是一个Objective-C天才,SSToolkit就是个例子。做者将他在App中实现的各类各样的UI效果作成个代码库,方便其余人使用。后端
SSToolkit一些基础的类包括SSCollectionView,SSGradientViewapi
从UI部件到便利的Foundation类别都通过精心设计并记录在案,帮助开发者解决一些广泛问题,好比追踪一款设备是否有视网膜显示屏或者是否能剪裁图片浏览器
2)GPUImage服务器
GPUImage一个功能十分强大又十分易用的图像处理库。网络
提供各类各样的图像处理滤镜,而且支持照相机和摄像机的实时滤镜架构
是基于GPU的图像加速,图像处理速度超快,而且可以自定义图像滤镜并发
支持ARC
不过如今还缺乏一些Core Image拥有的一些先进功能,好比面部探测。
滤镜效果图
3)SocketRocket
SocketRocket是一个WebSocket客户端(WebSocket是适用于Web应用的下一代全双工通信协议,被称为“Web的TCP”,它实现了浏览器与服务器的双向通讯),采用Object-C编写。超级稳固又简单易用,简直就是实时应用的最佳拍档。
SocketRocket遵循最新的WebSocket规范RFC 6455
只有部分比较新的浏览器好比Chrome支持这个库
支持TLS (wss),iOS 4.x系统
使用NSStream/CFNetworking(可免费享用)、使用ARC
采用并行架构
大部分的工做由后端的工做完成、基于委托编程。无任何UI包依赖。
由于Square,才有了SocketRocket
4)HockeyKit
HockeyKit是一个iOS Ad-Hoc自动更新框架。全部的苹果店中的App均可以使用它,它能显著提升整个Beta测试过程,分为两部分:服务器和客户端框架。服务端组件不须要客户端库就能单独工做。
只需在服务器上安装一次服务端,就能够处理bundle identifier不一样的多个应用程序(有开发者强烈建议对Debug、AdHocBeta和AppStore发布版使用不一样的Bundle identifier)
默认当App启动或唤醒时,客户端会从服务器检测更新,用户能够在设置对话框中修改这个设置:一天一次或手动检测更新
除了支持iOS,HokeyKit也支持Android平台,不过Android版还处在Alpha阶段,支持OTA及应用内更新
为HockeyKit用户提供服务器托管服务
Beta测试演示
5)JSONKit
JSONKit是Objective C平台上比较经常使用的JSON数据访问工具。
JSONKit能在运行的状况下与libz.dylib自动链接而无须人工链接
在解析期间,若是检测到有gzip文件,JSONKit能自动解压
速度超快,支持以前的iOS版本(但要注意一点,从iOS 5开始,iOS就已经有本地JSON解析工具了)
JSONKit的性能远优于JSON-Framework(即SBJSON),JSONKit使用起来也很是简单,表现性能比苹果iOS 5.0中的NSJSONSerialization还要好,速度比NSJSONSerialization快上 25% to 40%,已是很是大的一个差距了
Benchmark测试结果图
6)MagicalRecord
使用Core Data时会用到许多引用代码,让工做变得很复杂,让人有种挫败感,MagicalRecord的出现就是解决这些问题的。
不但能清理Core Data代码,还可在必要的时候进行NSFetchRequest修改
须要iOS 5.0及以上版本,Mac OS 10.7及以上版本
使用ARC
能利用iCloud同步Core Data商店
7)RestKit
Restkit是一个开源的Objective-C框架。
可在iOS和Mac OS X的Objective-C中与RESTful Web服务进行简单交互
包含简单的HTTP request/response API
带有强大的对象映射系统,用于减小代码长度
RestKit可下降JSON/XML的处理的资源消耗,支持经过SBJSON和YAJL进行JSON解析
当你的应用须要与一个REST远程API整合的时候,RestKit就会派上用场,帮你减小工做量(教程指导)。
添加Restkit
8)TestFlight
要想轻松发送并公测应用?用TestFlight吧,无须经过iTunes,有人曾经整理出了它的三大杀手锏:
轻松采集测试用户的UDID和iOS 版本、硬件版本,并发送给开发者。在接收到开发者的TestFlight邀请以后,用户只需拿本身的iPhone便可打开邀请中的连接,注册帐号,注册硬件
有了测试包之后,不用一个个发邮件,只须要将IPA上传到TestFlight网站,而后勾选合适的测试用户,点击确认,你就完事了,用户会立刻收到 TestFlight的更新通知,而后只需在他的iPhone上登陆TestFlight网站,TestFlight就会自动将测试IPA安装到他的 iPhone上
不用担忧用户没有成功安装,Testfligh可以给你实时反馈最新统计数据
如今还推出了桌面App,用起来更快更方便了。
9)MBProgressHUD
苹果的应用程序通常都会用一种半透明的进度显示效果,不过这个API是不公开的,所以你要是用了,极可能被踢出AppStore。而MBProgressHUD提供了一个替代方案,实现的效果根本看不出和官方程序有什么差异。
同时还提供了其余附加功能,好比虚拟进展指示符,以及完成提示信息
你也能够安装其余东西,好比须要显示的文本,动画,x及y设置等等,有许多iOS辅导员都在用它,通常用来做应用内购买
MBProgressHUD适用于任何iOS版本,须要LLVM 3.0及以上编译器架构,兼容ARC及非ARC项目,这得取决于苹果的如下架构:
Foundation.架构
UIKit.架构
CoreGraphics.架构
透明进度效果
10)AFNetworking
AFNetworking是一个轻量级的iOS网络服务类库。它创建在NSURLConnection和NSOperation等类库的基础上,让不少网络通讯功能的实现变得十分简单。
支持HTTP请求和基于REST的网络服务(包括GET、POST、 PUT、DELETE等)
支持ARC
要求iOS 5.0及以上版本
有一些插件扩展已有的功能,还有一个功能齐全的API
从URL中获取JSON特别简单,简单到什么程度?看下面几行代码
NSURL *url = [NSURL URLWithString:@"https://alpha-api.app.net/stream/0/posts/stream/global"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSLog(@"App.net Global Stream: %@", JSON); } failure:nil]; [operation start];
在这10大库中,AFNetworking是最大赢家,如今是GitHub上第三大Objetive-C库,iPhone,iPad上不少著名应用都使用这个类库,是不少人的最爱。
这里把好用的库整理出来介绍给你们,但愿真正能帮到开发者,让大家的生活变得更简单。