OS开发常用的开源类库

来源:互联网 发布:postgresql mysql区别 编辑:程序博客网 时间:2024/06/17 14:35

MBProgressHUD ——进展指示符库

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

ASIHttpRequest ——HTTP Network库

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

1
2
3
4
5
6
7
8
9
10
11
12
13
- ( 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提过很多次了,具体特点就不多讲了,所谓“一段代码胜千言”,下面用一段代码演示一下吧。

1
2
3
4
5
6
// 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。示例代码

1
2
3
4
5
// 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

SDWebImage ——简化网络图片处理

用SDWebImage调用网站上的图片,跟本地调用内置在应用包里的图片一样简单。操作也很简单;
类似的功能在Three20里也有,这个过会儿再说。相比而言,SDWebImage主要是提供一个小而精的简捷方便的解决方案。

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

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

CorePlot ——2D图形绘图仪

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

CThree20 ——通用iOS库

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

扫描wifi信息

http://code.google.com/p/uwecaugmentedrealityproject/
http://code.google.com/p/iphone-wireless/

条形码扫描

http://zbar.sourceforge.net/iphone/sdkdoc/install.html

tcp/ip的通讯协议

http://code.google.com/p/cocoaasyncsocket/

voip/sip

http://code.google.com/p/siphon/ 
http://code.google.com/p/asterisk-voicemail-for-iphone/ 
http://code.google.com/p/voiphone/

720全景显示panoramagl

http://code.google.com/p/panoramagl/

jabber client

http://code.google.com/p/ichabber/

PLBlocks

http://code.google.com/p/plblocks/

image processing

http://code.google.com/p/simple-iphone-image-processing/

base64编码解码

http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87

xml解析

https://github.com/schwa/TouchXML

安全保存用户密码到keychain中

https://github.com/ldandersen/scifihifi-iphone

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

https://github.com/jdg/MBProgressHUD

下拉刷新代码

https://github.com/enormego/EGOTableViewPullRefresh

异步加载图片并缓存代码

http://www.markj.net/iphone-asynchronous-table-image/

iphone TTS

https://bitbucket.org/sfoster/iphone-tts

OAuth认证

http://code.google.com/p/oauth/

http://code.google.com/p/oauthconsumer/

SFHFKeychainUtils ( GitHub 代码下载 )

储用户账号密码

Cpp代码
  1. #import <UIKit/UIKit.h>
  2.  
  3. @interface SFHFKeychainUtils : NSObject {
  4.  
  5. }
  6.  
  7. + (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
  8.  
  9. + (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;
  10.  
  11. + (BOOL) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
  12.  
  13. @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.  
  3. for(NSString *match in [textView.text componentsMatchedByRegex:regEx]) {
  4.  
  5. NSLog(@"Phone number is %@", match);
  6.  
  7. }

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 官网看看,也许有你需要的解决方案。

标签: 移动开发 ,iOS
分享到:
0 个人觉得赞+1
相关文章
苹果ios移动开发
  • 2011-12-08
  • 2011-12-08
  • 2011-12-08
网友评论
暂无评论,等你来评
最新最早最热
  • 0条评论
  • 还没有评论,沙发等你来抢

IT168正在使用多说

猜您喜欢
  • iOS开发如何实现消息推送机制
    iOS开发如何实现消息推送机制
  • iPhone 开发基础教程之三
    iPhone 开发基础教程之三
  • 善用开源插件 增强NetBeans开发
    善用开源插件 增强NetBeans开发
  • MyEclipse下开发Web Service(Axis)
    MyEclipse下开发Web Service(Axis)
  • 快速上手:MyEclipse下开发JSF
    快速上手:MyEclipse下开发JSF
  • oracle开发中序列的使用
    oracle开发中序列的使用
  • 微软企业开发库 安全应用程序块
    微软企业开发库 安全应用程序块
  • Apache启示录 开源社区应该怎么玩?
    Apache启示录 开源社区应该怎么玩?
  • 红帽新一代开源SOA平台——JBoss SOA 6
    红帽新一代开源SOA平台——JBoss SOA 6
  • HTML5能取代Android和iOS应用程序吗?
    HTML5能取代Android和iOS应用程序吗?
  • 三国传:Windows Phone比拼Android和iOS
    三国传:Windows Phone比拼Android和iOS
  • 开源云计算平台架构介绍(四)
    开源云计算平台架构介绍(四)
  • 开源云计算平台架构介绍(二)
    开源云计算平台架构介绍(二)
  • 交叉编译是移动开发的未来吗?
    交叉编译是移动开发的未来吗?
  • 戏说开源数据库“五虎将”
    戏说开源数据库“五虎将”
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫码送文库金币

  • 相关文档
  • 最新文档
  • 热门文档
  • 高性能的网站建设
  • iPhone+4与iPad开发基础教程
  • 21天学通PHP(第2版)
  • 如何为 Windows Phone 创建第一个 Silv
  • 《移动开发全平台解决方案》
  • 21天学通PHP:PHP语言的基础知识
  • 一步一步教你搭建私有云
  • c语言 学生成绩管理系统
  • Windows Phone 的代码示例:工具包下载
  • 21天学通PHP:配置Web服务器
  • 一周热文
  • 一周热评
  • 一周热帖
  • 操作系统DeepinLinux v15发布
  • 三大亮点有"心机" 钉钉2.7全新功能体验
  • 详解MySQL数据库之MEM_ROOT
  • 大数据告诉你何时何地买手机最划算!
  • 大咖辣评K-DB!亲述银行数据库选型之秘!
  • 武新:大数据时代 行业数据库应用与发展
  • 如何做好数据防护? 网友起底宕机因素
  • 推荐博文
  • 热门博文
  • 博文分类
  • 软件调试技术(2)-- coredump如何
  • PyQt5系列教程(五)制作fastboot烧写
  • PyQt5系列教程(二)利用QtDesigner设
  • BLE-NRF51822教程5-静态密码设置
  • std::nth_element crash问题
  • javascript基础【一】
  • lesson3-Qt对话框
  • BLE-NRF51822教程3-sdk程序框架剖析
  • lesson2-信号与槽机制
  • WinSocket的几个WSA*
源码下载
  • 在VB中如何列出正在运行的SQL Server服务器
  • Moving Block Animation(iPhone源代码)
  • 贴吧asptb v1.5
  • 追月二手智能手机网 v3.0
  • Month Picker(iPhone源代码)
  • 我去摇DJ舞曲网
  • 获得显示卡支持的DirectX显示模式
  • VB+Access 超市进销存管理系统
  • 智拓分类信息系统简体中文GBK版 Ver3.4
  • 在这儿地图标注 v1.02
  • 推荐文章
  • 推荐产品
  • 空气净化器十大排名
  • 液晶电视哪个牌子好
  • 电动牙刷哪个牌子好
  • 洗衣机哪个牌子好
  • 燃气热水器哪个牌子好
  • 空气净化器哪个牌子好
  • liunx系统中时钟与同步详解
  • Android之开发环境搭建实例解析
  • 系统运维:运用Ntop监控网络流量
  • 史诗级影音表现酷派大观4演绎视听盛宴
  • 360°旗舰翻转本 Yoga 2 Pro 图解评测
  • 下一代防火墙
  • 空气净化器有用吗?
  • 活21:9大屏曲面 AOC C3583FQ显示器评测
  • 洗衣机品牌排行榜
0 0
原创粉丝点击