由于iOS SDK相对比较底层,因此开发者就得受累多作一些体力活。不过幸运的是,有不少第三方的类库能够用来简化不少没必要要的工做.通过做者团队的慎重讨论,他们 评选出了10款可以极大提升iOS开发效率的类库,根据原文做者的评价来看,基本上有了这10款工具,作iOS开发就真的跟泡Cocoa同样了。
MBProgressHUD——进展指示符库
苹 果的应用程序通常都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,所以你要是用了,极可能被清除出AppStore。而 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];
}
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调用网站上的图片,跟本地调用内置在应用包里的图片同样简单。操做也很简单,举例说明
[p_w_picpathView setImageWithURL:[NSURL URLWithString:@"http://examp
相似的功能在Three20里也有,这个过会儿再说。相比而言,SDWebImage主要是提供一个小而精的简捷方便的解决方案
GData client——iPhone上全部Google相关服务的类库
名字就说明一切了。跟Google相关的,值得一提的是,这个项目很开放。有不少示例程序供下载。
CorePlot——2D图形绘图仪
CorePlot有不少解决方案将你的数据可视。,同时也会提供各类迷人的图形效果,好比棒状图、饼状图、线状图等等,在他们网站上也提供了大量的范例图形,不少股票价格应用,游戏分数,我的财务管理都在用。
Three20——通用iOS库
Three20类库是Facebook本身作的,大而全是他最大的特点。把他整合到已有的项目中可能得费点周折,不过若是一开始你就用上了Three20,尤为是牵扯到不少web相关的项目的时候,你就能深入体会到神马叫给力了。web