2011-11-14 17 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を持っている:実装。私は 'Error Domain = NSURLErrorDomain Code = 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)。あなたはどのように '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!! 
     } 

    } 

} 
関連する問題