当前位置 > 主页 > 万和大讲堂 >


南京iOS培训分享:iOS开发者最爱的10大库

2016-06-13 11:13

  作为当下最热门的移动操作系统之一,iOS以其优雅完美的特性赢得了来自全球的喜爱,但对于iOS开发者来说,从幕后到幕前,iOS应用所有的设计都离不开库,但是,最让开发者欲罢不能的库到底有哪些呢?今天南京万和iOS培训和大家来分享下10大iOS开发者最喜爱的库。


  1)SSToolkit


  Sam Soffes简直就是一个Objective-C天才,SSToolkit就是个例子。作者将他在App中实现的各种各样的UI效果做成个代码库,方便其他人使用。


  SSToolkit一些基础的类包括SSCollectionView,SSGradientView


  从UI部件到便利的Foundation类别都经过精心设计并记录在案,帮助开发者解决一些普遍问题,比如追踪一款设备是否有视网膜显示屏或者是否能剪裁图片。


  2)GPUImage


  GPUImage一个功能十分强大又十分易用的图像处理库。


  提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜


  是基于GPU的图像加速,图像处理速度超快,并且能够自定义图像滤镜


  支持ARC


  不过现在还缺少一些Core Image拥有的一些先进功能,比如面部探测。


  3)SocketRocket


  SocketRocket是一个WebSocket客户端(WebSocket是适用于Web应用的下一代全双工通讯协议,被称为“Web的TCP”,它实现了浏览器与服务器的双向通信),采用Object-C编写。超级稳固又简单易用,简直就是实时应用的最佳拍档。更多内容,请咨询南京万和iOS培训


  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,用起来更快更方便了。更多内容,请咨询南京万和iOS培训


  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上很多著名应用都使用这个类库,是很多人的最爱。


  这里南京万和iOS培训把好用的库整理出来介绍给大家,希望真正能帮到开发者,让你们的生活变得更简单。


最近开班 more>
  • Python基础班
  • Java全栈开发
  • 前端基础班
  • 软件测试
  • 云原生精英班
  • 云网预科班
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCE 9.0
  • 随时开课
  • 12月26日
  • 随时开课
  • 12月4日
  • 12月16日
  • 12月9日
  • 12月21日
  • 1月6日
  • 12月30日
  • 12月16日
  • 12月21日
  • 12月7日
  • 12月7日
  • ——
  • 随时开课
  • 12月16日
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入