2011-11-14 154 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!! 
     } 

    } 

}