これは、iOS での REST/Web サービス認証の本の例です。
パスワードが間違っていて、else 条件の 2 番目の部分に到達しましたが、これは正しい動作です。
ただし[error localizedDescription]
、null を示します。ここにエラーが表示されることを期待していました。私が見逃しているものはありますか?
私はこれを得る:
認証できません: (null)
- (void)connection:(NSURLConnection *)conn didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
if ([challenge previousFailureCount] == 0) {
NSURLCredential *newCredential;
newCredential = [NSURLCredential credentialWithUser:[FTKeychain loadValueForKey:IOS_USER_EMAIL]
password:[FTKeychain loadValueForKey:IOS_USER_PASSWORD]
persistence:NSURLCredentialPersistenceNone];
[[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
} else {
[[challenge sender] cancelAuthenticationChallenge:challenge];
// inform the user that the user name and password
// in the preferences are incorrect
// Why did I fail?
NSError *error = [challenge error];
NSLog(@"Can't authenticate: %@", [error localizedDescription]);
// why is error localizedDescription null ?
}
}