2011-12-19 2 views
1

난 RestKit을 활용하여 데이터를 원격 API로 가져 오거나 푸시하는 iPhone App을 구축 중입니다. 이 API에는 사용자 이름/비밀번호 인증이 필요합니다. 나는 사용자가 작동하지 않는 사람을 입력하는 경우 나쁜 사용자 이름이나 비밀 번호를 처리하는 방법을 궁금하네요. 내가 찾을 수 있었던 모든 나에게 좋은 한꺼번에 많이하지 않는 일반 RestKit 오류 처리기입니다 : 잘못된 사용자 이름이나 암호로RestKit 인증 챌린지 처리

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error 

를이 나에게 줄 것이다 :

MyApp iPhone[4758:fb03] W restkit.network:RKResponse.m:157 Failed authentication challenge after 1 failures 
MyApp iPhone[4758:fb03] E app:iPhoneSignIn.m:720 Hit error: Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0xd964b80 {NSErrorFailingURLKey=https://my.example.com/api/v1.0/?format=json, NSErrorFailingURLStringKey=https://my.example.com/api/v1.0/?format=json} 

부적절한 사용자 이름 또는 비밀번호 응답을 처리하는 더 좋은 방법이 있는지 궁금합니다.

답변

4

답을 찾고있는 사람은 누구나 알아 냈습니다. 기본적으로 아래의 코드는 NSURL이 인증 실패에 대해 제공하는 오류 코드 인 "-1012"에 대한 오류 응답을 검사합니다. 코드는 다음과 같습니다.

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error { 
    NSRange range = [[error localizedDescription] rangeOfString:@"-1012"]; 
    if (range.length > 0){ 
     //Do whatever here to handle authentication failures 
    } 
    RKLogError(@"Hit error: %@", error); 
} 

희망이 있습니다.

+0

if (error.code == -1012)가 더 간단합니다. – thanhbinh84