Вопрос

Если веб-сайт не требует аутентификации, мой код работает нормально, если это так, он выдает ошибку EXC_BAD_ACCESS сразу после печати "учетные данные созданы".Я ничего не выпускаю, и этот код скопирован прямо из документации - есть идеи, что не так?

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
 if ([challenge previousFailureCount] == 0)
 {
  NSLog(@"received authentication challenge");

  NSURLCredential *newCredential;
  newCredential=[NSURLCredential credentialWithUser:@"root"
             password:@"rootpassword"
             persistence:NSURLCredentialPersistenceForSession];


  NSLog(@"credential created");

  [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];

  NSLog(@"responded to authentication challenge");

 }
 else
 {
  NSLog(@"previous authentication failure");

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Authentication Failure" 
              message:@"Website did not accept the username and password."
                delegate:nil
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil];
  [alert show];
  [alert release];
 }
}
Это было полезно?

Решение

Оказывается, это как-то связано с этим конкретным методом аутентификации на сайтах - замена веб-сайта, на который я хочу войти, другим веб-сайтом, и код работает нормально.

(Я пытался очистить данные со страницы состояния unRAID, unRAID использует не реальный веб-сервер, а emhttp, поэтому я предполагаю, что это как-то связано с этим)

Другие советы

Единственное, что вы не контролируете, это возвращаемое значение [challenge sender].Попробуйте распечатать его описание, чтобы убедиться, что оно не равно нулю.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top