Обработка проблемы проверки подлинности RestKit - PullRequest
1 голос
/ 20 декабря 2011

Я создаю приложение для iPhone, используя RestKit для извлечения / передачи данных в удаленный API. Этот API требует аутентификации по имени пользователя и паролю. Мне интересно, как обработать неправильное имя пользователя или пароль, если пользователь должен ввести тот, который не работает. Все, что мне удалось найти, - это общий обработчик ошибок 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}

Мне было интересно, есть ли лучший способ справиться с неправильным именем пользователя или паролем?

1 Ответ

4 голосов
/ 31 декабря 2011

Для тех, кто все еще ищет ответ, я понял это. В основном мой код ниже сканирует ответ об ошибке для «-1012», который является кодом ошибки, который NSURL дает для сбоя аутентификации. Вот код:

- (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);
}

Надеюсь, это поможет!

...