10款iOS高效开发必备的Objective-C类库

在我们开发iPhone应用过程中,怎样才能提高开发效率和开发质量呢?下面我收集了一些开源的iOS类库,大家可以在开发过程中应用这些类库,以提高开发的效率和质量。如果大家在开发使用这个类库过程中,发现什么问题后,可以参与我们的讨论。谢谢~

 

因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活。不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.经过作者团队的慎重讨论,他们 评选出了10款能够极大提高iOS开发效率的类库,根据原文作者的评价来看,基本上有了这10款工具,做iOS开发就真的跟泡Cocoa一样了。

 

MBProgressHUD ——进展指示符库

苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一个替代方案,而且在用户角度上,实现的效果根本看不出和官方程序有什么差别。同时还提供了其他附加功能,比如虚拟进展 指示符,以及完成提示信息。整合到项目里也很容易,这里不细谈了。

点评: 在iOS中苹果官方已经提供了一个UIProgressHUD的类了,如果大家在使用过程中官方提供的类已经够使用了,就不建议使用上面的开源类库了,应该该类库官方不建议使用的,上传到App Store后会被下架的。

下载路径:https://github.com/jdg/MBProgressHUD


ASIHttpRequest ——HTTP Network库

iPhone当然也有自己的HTTP Network API,那为什么要用ASIHttpRequest呢?因为官方的API简直跟话痨似的,太罗嗦了!ASIHttpRequest库极大的简化了网络通 信,提供更先进的工具,什么文件上传工具,重定向处理工具、验证工具、等等。只要你手头的东西跟HTTP有关,用这个绝对能让你感觉道生活有美好!先看一 段代码就体会到了。 

(void) loadAppDevMag 

   NSURL *url = [NSURL URLWithString:@"http://www.appdevmag.com"]; 
   ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
   [request setDelegate:self]; 
   [request startAsynchronous]; 

- (void)requestFinished:(ASIHTTPRequest *)request 

   // Use when fetching text data 
   NSString *responseString = [request responseString]; 
}

点评:很好的HTTP网络库,支持同步/异步获取网页信息。详细请看本博的后续文章。

下载路径: https://github.com


JSON Framework ——JSON支持

如果你做的应用和网站服务器有交互,那就得用到JSON了。但事实上,iOS平台的原生类库根本就不支持JSON,这就略犀利了吧?不过JSON框 架满足了你的所有需求,包括一个解析器将JSON字符串解析成对象;以及一个生成器从对象生成字符串。这个库根本就是太流行了,JSON提过很多次了,具 体特点就不多讲了,所谓“一段代码胜千言”,下面用一段代码演示一下吧。

// JSON string -> NSDictionary 
 NSString *jsonString = @"{/"foo/": /"bar/"}";   
 NSDictionary *dictionary = [jsonString JSONValue];   
 NSLog(@"Dictionary value for /"foo/" is /"%@/"", [dictionary objectForKey:@"foo"]); 
  // NSDictionary -> JSON string   
 NSString *newJsonString = [dictionary JSONRepresentation];

Flurry ——详尽的使用统计

通过Furry你可以得到应用的用户人数,用户活跃度,用户来源等统计信息。但是他最厉害的地方是,你可以追踪应用本身的事件和错误记录,所有这些 数据都会在一个类似Google Analytics的界面上显示,这样就很容易掌握用户的行为和出现的问题。当然,这个星球上很多统计工具,但是这款是作者个人比较推崇的解决方案。

RegexKitLite ——正则表达式支持

正则表达式大家都知道。但是iPhone SDK居然当他不存在?这怎么能忍啊!果断用RegexKitLite。虽然叫的是Lite,但是功能很full。示例代码。 

  // finds phone number in format nnn-nnn-nnnn 
  NSString *regEx = @"[0-9]{3}-[0-9]{3}-[0-9]{4}"; 
  for(NSString *match in [textView.text componentsMatchedByRegex:regEx]) { 
      NSLog(@"Phone number is %@", match); 
  }

Facebook iOS SDK ——Facebook API类库

大体来讲就是iPhone上的Facebook login,完全支持Facebook Graph API和the older REST api。如果你的应用跟Facebook有关,相信我,用这个吧。

SDWebImage ——简化网络图片处理

用SDWebImage调用网站上的图片,跟本地调用内置在应用包里的图片一样简单。操作也很简单,举例说明

 [imageView setImageWithURL:[NSURL URLWithString:@"http://examp

类似的功能在Three20里也有,这个过会儿再说。相比而言,SDWebImage主要是提供一个小而精的简捷方便的解决方案

GData client ——iPhone上所有Google相关服务的类库

名字就说明一切了。跟Google相关的,值得一提的是,这个项目很开放。有很多示例程序供下载。

CorePlot ——2D图形绘图仪

CorePlot有很多解决方案将你的数据可视。,同时也会提供各种迷人的图形效果,比如棒状图、饼状图、线状图等等,在他们网站上也提供了大量的范例图形,很多股票价格应用,游戏分数,个人财务管理都在用。

Three20 ——通用iOS库

Three20类库是Facebook自己做的,大而全是他最大的特色。把他整合到已有的项目中可能得费点周折,不过如果一开始你就用上了Three20,尤其是牵扯到很多web相关的项目的时候,你就能深刻体会到神马叫给力了。

以下几个提高 iOS 开发效率的开源类库及工具,转自 CocoaChina 会员 “花太香齐” 的博客,有修改。希望能对您的开发工作有所帮助。

几个常用的开源类库及下载地址:1.json json编码解码
2.GTMBase64 base64编码解码
3.TouchXML xml解析
4.SFHFKeychainUtils 安全保存用户密码到keychain中
5.MBProgressHUD 很棒的一个加载等待特效框架
6.ASIHTTPRequest http等相关协议封装
7.EGORefreshTableHeaderView 下拉刷新代码
8.AsyncImageView 异步加载图片并缓存代码
9.类似setting的竖立也分栏程序

AppStore软件排名相关,工欲善其事,必先利其器。

1.下载排名相关:appannie 和 http://developer.cocoachina.com/brand
2.用户行为分析:flurry
3.majicrank-各国排名查询工具
4.AppViz-App销售统计软件
5.PodViz-用户评论等查看工具
6.appfigures-报表统计分析工具

 

posted @ 2011-10-15 20:41  s80895304  阅读(302)  评论(0编辑  收藏  举报