在前年,阿堂在《IOS开发系列之阿堂教程:玩转IPhone客户端和Web服务端交互(客户端)实践》一文中,对于ASIHTTPRequest框架有过一些介简单绍,具体链接地址见http://blog.sina.com.cn/s/blog_4c925dca01011l1s.html。近来阿堂有点空闲时,决定再作些详细的系列介绍,因为这个框架确实还算是比较优秀的,有必要让更多的ios开发者了解使用。ASIHTTPRequest框架是基于Objective-c的优秀的第三方http框架,支持mac os x和iOS下的http开发,其技术支持网站是http://allseeing-i.com/ASIHTTPRequest/ 。
该框架具有如下优点
1.支持将下载数据放在内存和应答http头。
2.容易访问请求和应答http头。
3.支持cookie。
4.支持gzip请求或应答。
5.支持缓存。
6.支持同步或异步请求。
7.使用https。
ASIHTTPRequest框架不支持arc。如果在arc下开发,需要作些简单配置。
安装配置ASIHTTPRequest框架
1.首先从https://gighub.com/pokeb/asi-http-request/tree 下载ASIHTTPRequest框架,然后打开asi-http-request目录,选择如下图中红色框中的文件,然然将其添加到我们的iOS工程。
2.为了支持ASIHTTPRequest框架,我们的iOS工程中,还需要添加如下一些支持的类库或框架。见下图
3.编译我们的ios工程,看是否有错误。
如果我们ios工程是采用arc内存管理的话,一般会报arc Restrictions 类似的错误。意思ASIHTTPRequest框架不支持arc技术。
因为ASIHTTPRequest框架中的源代码中使用mrc(手动管理引用计数)。
解决方法:
将ASIHTTPRequest框架中的这些源文件设置为不采用arc编译,编译参数是 -fno-objc-arc
具体如下图所示
经过上述三步操作后,我们的ios工程就可以完全支持和正常使用ASIHTTPRequest框架了。