<转>RestKit在iOS项目中的使用,包含xcode配置说明
本文转载至 http://www.cnblogs.com/visen-0/archive/2012/05/03/2480693.html
最近在iPhone工程中添加RestKit并编译,但是由于之前找了很多不靠谱的说明文档,导致编译了一天也没有通过编译,总报出莫名其妙的错误。终于在最后的关头找了一篇英文的较为权威的文档才发现自己的问题出在一个很细节的地方。结论就是:不靠谱的文档害死人。
下面就总结一下怎么在xcode项目中使用Restkit。
1. 下载RestKit源码,到官网去下,下载后解压源码,不做过多解释;
2. 在xcode中建立一个iOS项目,并在项目的文件夹中复制一份RestKit源码

3. 将RestKit中的RestKit.xcodeproj文件拖动到xcode的资源管理器中

4. 选择最顶层的工程,然后选择中间栏PROJECT中的那个项目,进行设置
(1)找到Build Setting中的Header Search Path,然后设置其值为"$(SOURCE_ROOT)/RestKit/Build"

(2)找到Build Setting中的Library Search Path,然后设置其值为"$(SOURCE_ROOT)/RestKit/Build/$(BUILD_STYLE)-$(PLATFORM_NAME)"

5. 选择中间栏TARGET中的一项,然后点击Build Phase选项卡,在Target Dependence中添加RestKit

6. 在Link Binary with Libraries中添加如下包名称:
libRestKitCoreData.a
libRestKitJSONParserYAJL.a
libRestKitNetwork.a
libRestKitObjectMapping.a
libRestKitSupport.a
CFNetwork.framework
CoreData.framework
MobileCoreServices.framework
SystemConfiguration.framework

7. 头文件中引入
#import <RestKit/RestKit.h>
#import <RestKit/CoreData/CoreData.h>
点击编译,如果没问题的话就编译成功了。
现在我们进行一个简单的测试:
在applicationDidFinishLaunching函数中添加如下代码:
- (void)applicationDidFinishLaunching:(UIApplication*)application withOptions:(NSDictionary*)options {
RKClient* client = [RKClient clientWithBaseURL:@"http://restkit.org"];
}
测试如下:


#import <RestKit/RestKit.h> // Here we declare that we implement the RKRequestDelegate protocol
// Check out RestKit/Network/RKRequest.h for additional delegate methods
// that are available.
@interface RKRequestExamples : NSObject <RKRequestDelegate> {
} @end @implementation RKRequestExamples - (void)sendRequests {
// Perform a simple HTTP GET and call me back with the results
[[RKClient sharedClient] get:@"/foo.xml" delegate:self]; // Send a POST to a remote resource. The dictionary will be transparently
// converted into a URL encoded representation and sent along as the request body
NSDictionary* params = [NSDictionary dictionaryWithObject:@"RestKit" forKey:@"Sender"];
[[RKClient sharedClient] post:@"/other.json" params:params delegate:self]; // DELETE a remote resource from the server
[[RKClient client] delete:@"/missing_resource.txt" delegate:self];
} - (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response {
if ([request isGET]) {
// Handling GET /foo.xml if ([response isOK]) {
// Success! Let's take a look at the data
NSLog(@"Retrieved XML: %@", [response bodyAsString]);
} } else if ([request isPOST]) { // Handling POST /other.json
if ([response isJSON]) {
NSLog(@"Got a JSON response back from our POST!");
} } else if ([request isDELETE]) { // Handling DELETE /missing_resource.txt
if ([response isNotFound]) {
NSLog(@"The resource path '%@' was not found.", [request resourcePath]);
}
}
} @end


附上英文原文网址:http://liebke.github.com/restkit-github-client-example
<转>RestKit在iOS项目中的使用,包含xcode配置说明的更多相关文章
- ios项目中引用其他项目复习
ios项目中引用其他开源项目,今天再次复习了,记个备注. 1. 将开源项目的.xcodeproj拖入项目frameworks 2. Build Phases下 Links Binary With Li ...
- React Native(ios)项目中logo,启动屏设置
由于logo和启动屏尺寸多,react native(ios)中没有命令可以自动生成各种的尺寸,所以可以使用以下办法:在ionic项目中生成(使用命令:ionic resources)后,再粘贴到re ...
- iOS-C文件添加到iOS项目中,运行报错
iOS-C文件添加到iOS项目中,运行报错 问题: 往项目中添加一个空的c文件, 编译运行; 出现2,30个编译错误. 原因: 由于在项目中添加了Pch文件,在文件中所有代码还没有开始运行之前, pc ...
- iOS项目中常见的文件
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- XamarinSQLite教程Xamarin.iOS项目中打开数据库文件
XamarinSQLite教程Xamarin.iOS项目中打开数据库文件 以下是打开MyDocuments.db数据库的具体操作步骤: (1)将Mac电脑上的MyDocuments.db数据库移动到W ...
- XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件
XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件 开发者可以在指定的路径中找到复制的数据库文件,具体的操作步骤如下: (1)单击Mac电脑中Finder菜单中的“前往”|“前 ...
- 在Xamarin.iOS项目中使用预设数据库
在Xamarin.iOS项目中使用预设数据库 当开发者准备好一个预设数据库文件后,就可以将这个数据库文件添加到创建的项目中了.本节将分别在Xamarin.iOS和Xamarin.Android项目中使 ...
- 给iOS项目中添加图片,并通过UIImageView引用和显示该UIImage图片
[问题] 关于iOS/iPhone中的文件选择对话框,用于用户去选择图片等文件 过程中,问题转换为,需要给当前iOS项目中,添加一个图片. 类似于Windows开发中的资源文件,其中图片文件属于资源的 ...
- ios项目中安装和使用CocoaPods
CocoaPods是什么? http://code4app.com/article/cocoapods-install-usage http://blog.csdn.net/jjmm2009/arti ...
随机推荐
- 10-hibernate单表操作-组件属性
组件属性: 实体类中某个属性属于用户自定义的类的对象,比如在实体类中某个属性是自定义类的对象: 这个Address是一个用户自定义类. 该自定义类Address定义如下: //地址类 public c ...
- jconsole JDK1.6 使用手册 (转)
转载出处 文章作者:hornet 本文地址:http://hornetblog.sinaapp.com/?p=5 英文版地址: http://download.oracle.com/javase/6/ ...
- 基于Qt的A*算法可视化分析
代码地址如下:http://www.demodashi.com/demo/13677.html 需求 之前做过一个无人车需要自主寻找最佳路径,所以研究了相关的寻路算法,最终选择A算法,因为其简单易懂, ...
- plsql连接Oracle11g 64位数据库导出dmp文件一闪而过
- 域对象的引用,ActionContext 和ServletActionContext类的使用
ActionContext 获取 域引用的map ServletActionContext获取具体域对象 //域范围 ActionContext ac = ActionContext.getConte ...
- Ffmpeg 视频教程 向视频中添加文字
Ffmpeg支持添加文字功能,具体如何将文字叠加到视频中的每一张图片,FFmpeg调用了文字库FreeSerif.ttf.当我们 用到ffmpeg 添加文字功能时 我们需要先下载改文字库,下载地址是h ...
- Android之ImageButton控件基础操作
控件绑定(前台对应控件的id属性要设置为imageButton_light) private ImageButton imageButton_light;//定义一个ImageButton控件对象,名 ...
- kali2.0下配置Metasploit+postgresql链接
工具/原料 kali2.0 方法/步骤 1.postgresql是本身没有启动的.所以需要启动. service postgresql start 2.通过命令进入配置 sudo -u ...
- MSBuild入门(续)
MSBuild基本概念(续) 在上一篇简单的介绍了下MSBuild中的四个基本块,每块介绍比较单薄,在这里对在大多数的项目模版生成的*.*proj文件中比较常见一些用法和概念做些补充.主要有一下几方面 ...
- 【大话QT之十三】系统软件自己主动部署实现方案
本篇文章是对[大话QT之十二]基于CTK Plugin Framework的插件版本号动态升级文章的补充,在上篇文章中我们阐述的重点是新版本号的插件已经下载到plugins文件夹后应该怎样更新本地正在 ...