2011-11-14 35 views
0

我在我的iPad项目中取消绑定RestKit从服务器拉取一些JSON数据。 iOS应用程序需要通过基本HTTP身份验证进行身份验证。RestKit如何处理身份验证失败

W restkit.network:RKResponse.m:157 Failed authentication challenge after 1 failures 

我如何能赶上这样的情况:

如果我输入错误的凭据,我可以在控制台(模拟器)上看到了什么?我在RestKit文档中找不到任何东西(我肯定肯定有东西)。

回答

1

您是否试图在您的RKObjectLoaderDelegate中实现相应的错误处理程序?

例如。

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error 
{ 
    RKLogError(@"Hit error: %@", error); 
} 

您应该在Error Domain=NSURLErrorDomain Code=-1012或其他类似时出错。

+0

我有didFailWirhError:实施。我没有看到任何错误,说明错误域= NSURLErrorDomain代码= 1012(或类似)。 – MadMaxAPP

+0

你的'didLoadObjects:'如果你输入正确的凭据会被调用吗?我刚刚在我的应用程序中验证了它 - 错误处理程序被调用:2011-11-14 14:39:20.126 App [53026:15803] W restkit.network:RKResponse.m:157 1次失败后验证质询失败 2011-11 -14 14:39:20.142 App [53026:15803] E app:xxx.m:xxx命中错误:错误域= NSURLErrorDomain代码= -1012“无法完成操作(NSURLErrorDomain错误-1012。)”Can你发布如何调用'loadObjectsAtResourcePath:'? – mja

+0

啊。我知道了!现在我看到'操作无法完成。 (NSURLErrorDomain错误-1012)。 – MadMaxAPP

0

检查restkit的反应,我想你可以检查使用:

- (void) objectLoaderDidFinishLoading:(RKObjectLoader *)objectLoader{ 

    RKResponse *response = [objectLoader response]; 
    int statusCode = [response statusCode]; 

    if (![response isOK] || statusCode > 299) { 

     id parsedResponse = [response parsedBody:NULL]; 
     if ([parsedResponse isKindOfClass:[NSDictionary class]]) { 
      //check for the specific error here!! 
     } 

    } 

}