• (zt)IOS开发常用的开源类库和一些示例


    原帖:http://hb.qq.com/a/20111208/001552.htm

      

    苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个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代码

      #import @interface SFHFKeychainUtils : NSObject { } + (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error; + (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error; + (BOOL

      ) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error; @end

      #import @interface SFHFKeychainUtils : NSObject {}+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;+ (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;+ (BOOL) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;@end

      MGTwitterEngine ( GitHub 代码下载 )

      Twitter 官方 Objective-C SDK 。

      XAuthTwitterEngine ( GitHub 代码下载 )

      在 MGTwitterEngine 的基础之上,专门针对 XAuth 的一套 SDK 。

      EGOImageLoading ( GitHub 代码下载 )

      通过 EGOImageLoading ,我们能够更加方便的从服务器端读取图片,并且轻松的实现 Memory / Disc 两个级别的图片缓存。

      RegexKitLite – Regular Expression Support (代码下载)

      iOS 正则表达式工具包。如果你曾经是 web 开发者,看到这条是不是有种泪流满面的冲动?

      Cpp代码 NSString *regEx = @[0-9]{3}-[0-9]{3}-[0-9]{4}; for

      (NSString *match in [textView.text componentsMatchedByRegex:regEx]) { NSLog(@Phone number is %@, match); }

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

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

  • 相关阅读:
    iptables防火墙(RHEL6)
    漏洞扫描与网络抓包
    服务安全与监控
    Typecho反序列化漏洞
    python类,魔术方法等学习&&部分ssti常见操作知识点复习加深
    PHAR伪协议&&[CISCN2019 华北赛区 Day1 Web1]Dropbox
    [GXYCTF2019]禁止套娃 1 &无参数RCE
    PHP代码审计学习(1)
    Yii2安装完kartik组件后,使用时报错
    收藏博客
  • 原文地址:https://www.cnblogs.com/gamesacer/p/2515106.html
Copyright © 2020-2023  润新知