Tag: ruby on rails

如何在使用RestKit和RKObjectManager时添加一些默认参数?

我正在使用RestKit,RKObjectManager和服务器端devise进行身份validation。 我需要发送我的身份validation令牌每个请求。 有没有一种方法可以轻松地为所有请求添加它? 目前,对于GET,我正在做以下工作: NSString *path = [NSString stringWithFormat:@"/%@/%i", [self pluralizedName], identifier]; path = [path stringByAppendingQueryParameters:[self appendAuthenticationToken:params]]; [[RKObjectManager sharedManager] loadObjectsAtResourcePath:path delegate:delegate]; 这很好。 但是,对于PUT,我尝试了以下方法: [[RKObjectManager sharedManager] putObject:resource usingBlock:^(RKObjectLoader *loader) { loader.delegate = delegate; loader.params = [RKParams paramsWithDictionary:[self appendAuthenticationToken:params]]; }]; 这正确地发送了我的身份validation令牌,但服务器没有收到我正在尝试更新的资源。 有谁知道这样做的正确方法?

错误:无法在任何存储库中find有效的gem'cocoapods'(> = 0)

我正在尝试运行一个AWS Cognito服务项目,其中我添加了适用于iOS的AWS开发工具包,但在添加并尝试运行之后,它会向我显示图像中显示的下面的错误 错误:无法在任何存储库中find有效的gem'cocoapods'(> = 0) 当我爬上它在互联网上,发现一些cocoapods安装说明,所以在尝试之后,我得到了一些像下面的其他错误 aparajita:Objective-C Aparajita$ sudo gem install cocoapods Password: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin14/rbconfig.rb:213: warning: Insecure world writable dir /usr/local in PATH, mode 040777 ERROR: Could not find a valid gem 'cocoapods' (>= 0) in any repository aparajita:Objective-C Aparajita$ gem install cocoapods /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin14/rbconfig.rb:213: warning: Insecure world writable dir /usr/local in PATH, mode 040777 ERROR: Could […]

Alamofire POST请求进展

我正在使用Alamofire来执行POST请求。 由于此POST请求可能需要一段时间,我想跟踪进度并将其显示为ProgressView。 Alamofire.request(.POST, ApiLink.create_post, parameters: parameters, encoding: .JSON) .progress { (bytesRead, totalBytesRead, totalBytesExpectedToRead) -> Void in println("ENTER .PROGRESSS") println("\(totalBytesRead) of \(totalBytesExpectedToRead)") self.progressView.setProgress(Float(totalBytesRead) / Float(totalBytesExpectedToRead), animated: true) } .responseJSON { (_, _, mydata, _) in println(mydata) } 但是,我注意到.progress块只在post请求结束后才被调用,而不是多次调用来实际跟踪进度。 println(“ENTER .PROGRESSS”)只被调用一次(最后) 我怎样才能让.progress与Alamofire.request POST一起工作? 另外:我的参数包括一个base64编码的图像string。 我正在使用后端Ruby on Rails来处理图像。 这是需要相当一段时间的过程。

iOS / Restkit应用程序devise

我目前正在开发一个由rails支持的iOS应用程序。 对于iOS和Rails之间的通信,我使用RESTkit框架,因为它带走了很多工作! 我对如何pipe理代码开始增长时有一些怀疑! 当你使用RESTKit时,你如何devise你的应用程序? 你提供给你的控制器什么样的数据层来执行不同的操作? 谢谢

从移动应用程序使用AWS(特别是S3)的首选方式是什么?

直接在应用程序代码中添加AWS访问密钥和密钥绝对不是一个好方法,主要是因为应用程序驻留在用户设备上(与服务器端代码不同),并且可以进行反向devise以获取证书,然后可能会被滥用。 尽pipe我在任何地方都能find这些信息,但却无法find解决这个问题的明确办法。 我有什么select? 我读了关于临时证书的令牌自动售货机架构,但我不相信它是更好的。 如果我可以反向devise密钥,那么我可以对请求临时凭证的代码进行反向工程。 而且一旦我拥有一组临时的证书来访问S3,我就像拥有密钥一样好。 我可以一次又一次地申请临时证书,即使它们过期很快。 总之,如果一个应用程序可以做一些事情,我可以像恶意用户一样做。 如果有的话,TVM可以在pipe理上更好一些(轮换凭证,在违规情况下更换密钥等)。 请注意,我们可以对密钥施加相同的访问限制,因为我们计划在TVM临时证书的情况下执行这些限制。 此外,如果亚马逊不希望人们直接在应用程序中使用密钥,为什么不在他们的SDK中阻止它,并强制使用TVM或正确的解决scheme。 如果你要走的路,人们将使用它。 我读了几篇这样的文章,不知道为什么? 我主要从网页背景,所以我的理解可能有点有缺陷。 请帮助我理解这是否更好,以及是否有一个完美的(或可能是好的)解决scheme可用于此问题。 PS:是否有TVM的轨道实施?

使用默认数据初始化核心数据

我有一个关于使用数据填充核心数据的基本问题。 我正在构build一个应用程序,它将在地图上显示ATM。 我想运送应用程序预载数据库,但给用户select接收更新,当他们启动应用程序。 我正在考虑使用属性列表进行更新。 基本上所有的自动取款机的plist,parsingplist和填充sqlite。 我将在属性列表文件中有大约7000个条目,每个条目包含具有短string值的5-6个键。 但根据苹果iOS开发者库: 您可以创build数据的属性列表(或其他基于文件的表示forms),并将其存储为应用程序资源。 当你想使用它的时候,你必须打开文件并parsing表示来创buildpipe理对象。 你不应该在iOS上使用这种技术,并且只能在Mac OS X上完全需要。parsing一个文件来创build一个存储会招致不必要的开销。 自己离线创build一个Core Data存储器并直接在应用程序中使用它会好得多。 我是否还应该发送一个属性列表,或者想一个替代解决scheme来更新应用程序的数据库? PS我正在考虑使用Rails应用程序提供更新 – 基本上发送一个plist文件。

RailsdeviseOmniAuth Facebook从iOSlogin

我一直在寻找这个问题的可靠解决scheme,并且遇到了这样一个与我的困境相匹配的问题,但并不完全一样。 目前我有我的iPhone应用程序通过基本身份validation与我的Rails API进行身份validation。 这只是您简单的一stream的deviseauthentication软件包。 然后我按照说明设置omniauth-facebook的devise,并得到了在浏览器端的工作。 我无法弄清楚如何做的部分是如何将在iPhone端(通过Facebook的iOS SDK)收到的令牌发送到服务器。 我希望服务器检查用户表,看看这个Facebook用户是否已经注册,并为他创build一个帐户,如果他没有。 然后,我想服务器会生成一个随机密码,并将其发送回客户端设备,这样我就可以保持相同的基本身份validation策略。 这是一个Web应用程序和iPhone应用程序的单一login的正确方法吗? 如何修改服务器端软件包以支持通过手机发送的令牌进行身份validation?

暴露Rails /deviseauthentication到iOS应用程序

我有一个轨道3.1应用程序,使用deviseauthentication与简单的用户模型与电子邮件,密码等我需要能够从iPhone应用程序进行身份validation。 我如何公开这个function? 广泛的答案是好的,因为我不知道我的select是什么。

如何使用RestKit将对象发布到rails?

我正在尝试使用RestKit和Rails来实现魔法。 我正在使用Rails 3.1.1和RestKit 0.9.3(不是主分支)。 我在我的iOS应用程序中使用核心数据,所以我试图设置应用程序使用尽可能多的RestKit魔术来与rails应用程序进行交互。 但是,我有一个问题试图POST一个新的对象到我的服务器来创build。 我已经成功地把对象取下来了。 这是我的代码来做到这一点: RKObjectManager* manager = [RKObjectManager objectManagerWithBaseURL:@"http://IP_ADDRESS"]; manager.objectStore = [RKManagedObjectStore objectStoreWithStoreFilename:@"magikarp.sqlite"]; manager.client.requestQueue.showsNetworkActivityIndicatorWhenBusy = YES; manager.acceptMIMEType = RKMIMETypeJSON; manager.serializationMIMEType = RKMIMETypeJSON; /// /// Setup Routing /// RKObjectRouter *router = [[RKObjectRouter alloc] init]; [router routeClass:[List class] toResourcePath:@"/lists/(listID)"]; [router routeClass:[List class] toResourcePath:@"/lists" forMethod:RKRequestMethodPOST]; manager.router = router; /// /// Setup mapping for my […]

使用Facebook的iOS客户端授权在自己的服务器上

我在我的iOS应用程序中使用Facebook SSO,并且工作正常。 现在我想使用这些信息 – 用户使用他的uid在脸书上对我的服务器后端进行validation。 但是,我怎样才能 – 安全地将这些信息传递给服务器? 我的猜测是,我需要发送的uid,可能是我从facebook获得的authToken到我的服务器? 有人可以概述一个通用的方法吗? 即使这对我的问题应该没有问题,我的服务器正在运行rails并devise进行身份validation。 我也有单独的工作在那里的Facebooklogin,但我想使用服务器上的客户端已经完成的身份validation。 混乱…