因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活。不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.经过作者团队的慎重讨论,他们评选出了10款能够极大提高iOS开发效率的类库,根据原文作者的评价来看,基本上有了这10款工具,做iOS开发就真的跟泡Cocoa一样了。
MBProgressHUD ——进展指示符库
苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore。而MBProgressHUD提供了一个替代方案,而且在用户角度上,实现的效果根本看不出和官方程序有什么差别。同时还提供了其他附加功能,比如虚拟进展指示符,以及完成提示信息。整合到项目里也很容易,这里不细谈了。
ASIHttpRequest ——HTTP Network库
iPhone当然也有自己的HTTP Network API,那为什么要用ASIHttpRequest呢?因为官方的API简直跟话痨似的,太罗嗦了!ASIHttpRequest库极大的简化了网络通信,提供更先进的工具,什么文件上传工具,重定向处理工具、验证工具、等等。只要你手头的东西跟HTTP有关,用这个绝对能让你感觉道生活有美好!先看一段代码就体会到了。
 
   
  1. (void) loadAppDevMag
  2. {
  3. NSURL *url = [NSURL URLWithString:@"http://www.appdevmag.com"];
  4. ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
  5. [request setDelegate:self];
  6. [request startAsynchronous];
  7. }
  8. - (void)requestFinished:(ASIHTTPRequest *)request
  9. {
  10. // Use when fetching text data
  11. NSString *responseString = [request responseString];
  12. }
JSON Framework ——JSON支持
如果你做的应用和网站服务器有交互,那就得用到JSON了。但事实上,iOS平台的原生类库根本就不支持JSON,这就略犀利了吧?不过JSON框架满足了你的所有需求,包括一个解析器将JSON字符串解析成对象;以及一个生成器从对象生成字符串。这个库根本就是太流行了,JSON提过很多次了,具体特点就不多讲了,所谓“一段代码胜千言”,下面用一段代码演示一下吧。
 
   
  1. // JSON string -> NSDictionary
  2. NSString *jsonString = @"{\"foo\": \"bar\"}";
  3. NSDictionary *dictionary = [jsonString JSONValue];
  4. NSLog(@"Dictionary value for \"foo\" is \"%@\"", [dictionary objectForKey:@"foo"]);
  5. // NSDictionary -> JSON string
  6. NSString *newJsonString = [dictionary JSONRepresentation];
Flurry ——详尽的使用统计
通过Furry你可以得到应用的用户人数,用户活跃度,用户来源等统计信息。但是他最厉害的地方是,你可以追踪应用本身的事件和错误记录,所有这些数据都会在一个类似Google Analytics的界面上显示,这样就很容易掌握用户的行为和出现的问题。当然,这个星球上很多统计工具,但是这款是作者个人比较推崇的解决方案。
ios
RegexKitLite ——正则表达式支持
正则表达式大家都知道。但是iPhone SDK居然当他不存在?这怎么能忍啊!果断用RegexKitLite。虽然叫的是Lite,但是功能很full。示例代码。
 
   
  1. // finds phone number in format nnn-nnn-nnnn
  2. NSString *regEx = @"[0-9]{3}-[0-9]{3}-[0-9]{4}";
  3. for(NSString *match in [textView.text componentsMatchedByRegex:regEx]) {
  4. NSLog(@"Phone number is %@", match);
  5. }
Facebook iOS SDK ——Facebook API类库
大体来讲就是iPhone上的Facebook login,完全支持Facebook Graph API和the older REST api。如果你的应用跟Facebook有关,相信我,用这个吧。
SDWebImage ——简化网络图片处理
用SDWebImage调用网站上的图片,跟本地调用内置在应用包里的图片一样简单。操作也很简单,举例说明
 
   
  1. [p_w_picpathView setImageWithURL:[NSURL URLWithString:@"http://examp
类似的功能在Three20里也有,这个过会儿再说。相比而言,SDWebImage主要是提供一个小而精的简捷方便的解决方案
GData client ——iPhone上所有Google相关服务的类库
名字就说明一切了。跟Google相关的,值得一提的是,这个项目很开放。有很多示例程序供下载。
CorePlot ——2D图形绘图仪
CorePlot有很多解决方案将你的数据可视。,同时也会提供各种迷人的图形效果,比如棒状图、饼状图、线状图等等,在他们网站上也提供了大量的范例图形,很多股票价格应用,游戏分数,个人财务管理都在用。
Three20 ——通用iOS库
Three20类库是Facebook自己做的,大而全是他最大的特色。把他整合到已有的项目中可能得费点周折,不过如果一开始你就用上了Three20,尤其是牵扯到很多web相关的项目的时候,你就能深刻体会到神马叫给力了。

扫描wifi信息

条形码扫描

tcp/ip的通讯协议

voip/sip

720全景显示panoramagl

jabber client

PLBlocks

p_w_picpath processing

base64编码解码

xml解析

安全保存用户密码到keychain中

加载等待特效框架(private api)

下拉刷新代码

异步加载图片并缓存代码

iphone TTS

OAuth认证

http://code.google.com/p/oauth/
http://code.google.com/p/oauthconsumer/
SFHFKeychainUtils ( GitHub 代码下载 )
储用户账号密码
Cpp代码 收藏代码
  1. #import <UIKit/UIKit.h>
  2. @interface SFHFKeychainUtils : NSObject {
  3. }
  4. + (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
  5. + (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;
  6. + (BOOL) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
  7. @end
MGTwitterEngine ( GitHub 代码下载 )
Twitter 官方 Objective-C SDK 。
XAuthTwitterEngine ( GitHub 代码下载 )
在 MGTwitterEngine 的基础之上,专门针对 XAuth 的一套 SDK 。
EGOImageLoading ( GitHub 代码下载 )
通过 EGOImageLoading ,我们能够更加方便的从服务器端读取图片,并且轻松的实现 Memory / Disc 两个级别的图片缓存。
RegexKitLite – Regular Expression Support (代码下载
iOS 正则表达式工具包。如果你曾经是 web 开发者,看到这条是不是有种泪流满面的冲动?
Cpp代码 收藏代码
  1. NSString *regEx = @"[0-9]{3}-[0-9]{3}-[0-9]{4}";
  2. for(NSString *match in [textView.text componentsMatchedByRegex:regEx]) {
  3. NSLog(@"Phone number is %@", match);
  4. }
GData client – iPhone library for all of Google’s services (代码下载
这个工具包帮助你使用 Objective-C 轻松访问 Google 官方的各种 API 。
SDWebImage – Simple Web Image Support (代码下载
这个工具包我还真没用过。看它的介绍,跟我上篇博文介绍的 EGOImageLoading 功能相同。有了它,你的 iOS 应用访问 web 端的图片文件,就和访问 iPhone 本地的图片文件一样方便。什么网络连接什么本地缓存你通通都不用再担心。不过我的疑惑是,为啥 Instagram 没用 SDWebImage 而用的是 EGOImageLoading ?
CorePlot – 2D Graph Plotter (代码下载
正琢磨着做个股票行情 app ,但是不知道该用什么工具绘图? Core Plot 帮你画出各种 2D 数据图。
Three20 – General iOS Library (代码下载
Facebook 开发出了自己的 iPhone 应用之后,本着普渡苍生的情怀,索性将自己的 iOS 代码库整个给开源了。注意, Three20 已经不只是一个工具包, 而是一个完备的 framework 了。因为它如此完备如此庞大如此复杂, 如果你要将 Three20 搬进自己的项目里,可能会遇到些麻烦。如果你遇到了麻烦又不知该怎么解决的话,上Three20 官网看看,也许有你需要的解决方案。
MKNetWorkKit的出现给开发者带来了福音,它吸取了ASIHttpRequest与AFNetWorking的优点,并加入了自己特有的功能
KissXml——xml解析库
相关教程:http://www.iteye.com/topic/625849
http://sencho.blog.163.com/blog/static/83056228201151743110540/
很方便的一个xml解析器,支持Xpath查询。
skpsmtpmessage——Quick SMTP邮件发送
svn checkout http://skpsmtpmessage.googlecode.com/svn/trunk/ skpsmtpmessage-read-only
github: git clone https://github.com/kailoa/iphone-smtp.git
相关教程:http://disanji.net/2011/01/28/skpsmtpmessage-open-source-framework/
skpsmtpmessage 是由Skorpiostech, Inc.为我们带来的一个SMTP协议的开源实现,使用Objective-c 实现,iOS系统的项目可以直接调用。
jsonframework——JSON支持
相关教程:http://blog.csdn.net/xiaoguan2008/article/details/6732683
它是一个开源框架,基于BSD协议发布。由于json-framework是开放源代码的,当你需要使用它时你只需将json的源代码加入到你的工程中。
ASIHttpRequest——HTTP Network库
ASIHttpRequest库极大的简化了网络通 信,提供更先进的工具,例如文件上传工具,重定向处理工具、验证工具、等等。
MBProgressHUD——进展指示符库
苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一个替代方案,而且在用户角度上,实现的效果根本看不出和官方程序有什么差别。同时还提供了其他附加功能,比如虚拟进展 指示符,以及完成提示信息。整合到项目里也很容易,这里不细谈了。
zxing——二维码扫描库
支持条形码/二维码扫描的图形处理库,这是一个java库,在android上的功能比较完整。同时该库也支持ios,但只能支持二位条形码的扫描。
kal——iPhone日历控件
一个类似于ios系统默认日历开源日历库,支持添加事件,自定义日历样式等功能。
Facebook iOS SDK——Facebook API类库
大体来讲就是iPhone上的Facebook login,完全支持Facebook Graph API和the older REST api。
shareKit——分享库
相关demo:http://www.cocoachina.com/bbs/read.php?tid-71760.html
分享到开心,豆瓣,腾讯,新浪微博的api所用到的强大的分享库。
SDWebImage——简化网络图片处理
用SDWebImage调用网站上的图片,跟本地调用内置在应用包里的图片一样简单。操作也很简单。
GData client——iPhone上所有Google相关服务的类库
名字就说明一切了。跟Google相关的,值得一提的是,这个项目很开放。有很多示例程序供下载。
CorePlot——2D图形绘图仪
CorePlot有很多解决方案将你的数据可视。同时也会提供各种迷人的图形效果,比如棒状图、饼状图、线状图等等,在他们网站上也提供了大量的范例图形,很多股票价格应用,游戏分数,个人财务管理都在用。
Three20——类似于Facebook的优秀的UI库
Three20类库是Facebook自己做的,大而全是他最大的特色。把他整合到已有的项目中可能得费点周折,不过如果一开始你就用上了Three20,尤其是牵扯到很多web相关的项目的时候,你就能深刻体会到神马叫给力了。
FMDatabase——SQLite的Objective-C封装
是SQLite的C API對初學者來說實在太麻煩太瑣碎,難度太高。FMDB說穿了其實只是把C API包裝成簡單易用的Objective-C类。對于SQLite初學者來說,大大減低了上手的難度。有了FMDB,寫程式時只要專心在SQLite的語法上,而不用去理那堆有看沒有懂的C API,實在是件快樂的事情。
转自:http://yangping-account.iteye.com/blog/1144556