当前位置:  开发笔记 > Android > 正文

为rails应用程序构建iphone客户端的最佳方法是什么?

如何解决《为rails应用程序构建iphone客户端的最佳方法是什么?》经验,为你挑选了2个好方法。

我有一个相当标准的rails应用程序,并希望能够从iPhone应用程序访问基本的CRUD(创建,更新,删除)操作以及我添加的查询.Rails或多或少开箱即可为这些操作提供REST API.

在iphone上处理REST/XML部分的最佳方法是什么,有没有任何好的Objective-C库已经做过这种事情了?操作还需要与特定用户相关联(即经过身份验证).



1> Josh Vickery..:

这对我来说是一个常见的问题,所以我一直在研究一个名为ObjectiveResource的Rails ActiveResource框架的端口.

到目前为止,我们已经有两个版本的项目.1.0已经被App Store中的一些应用程序使用,并且可以处理Rails中内置的默认to_xml和to_json资源处理.1.01是一个错误修正版本和升级版本.

我们目前正在为1.1定义功能集.我们已经有了不少想法,并且正在讨论邮件列表上的更多内容.



2> 小智..:

我有使用plist的运气...

你需要安装plist-3.0.0 gem(gem install plist IIRC)

然后在你的控制器中你设置这样的东西:

plist = {'a'  => 'b', 'c' => 'd', 'e' => {'f' => 'g', 'h' => {'i' => 'j'}}}.to_plist
render(:text => plist)

然后在你的iPhone应用程序设置如下:

NSURL *url = [NSURL URLWithString:@"http://somewhere.com"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLResponse *response;
NSError *error;
NSData *plistData;
plistData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSPropertyListFormat format;
NSString *errorStr;
id imagesToRate = [NSPropertyListSerialization propertyListFromData:plistData mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&errorStr];
if(!imagesToRate) {
    NSLog(errorStr);
} else {
    NSLog(@"%@", [imagesToRate objectForKey:@"e"]);
}

你几乎可以自由地使用json(例如,你不必滚动自己的xml方案来格式化数据,序列化就像to_plist调用一样简单)另外,sdk带有本机代码用于处理Plist档案.

但是,如果你们都准备好了一个以json/xml输出的web服务,你可能想要保留它,并使用已经提到的东西解析iphone上的东西(TouchXML,json-framework)

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有