didReceiveAuthenticationChallenge causando EXC_BAD_ACCESS
-
22-09-2019 - |
Domanda
Se il sito non richiede l'autenticazione, il mio codice funziona bene, se lo fa, gli errori con EXC_BAD_ACCESS subito dopo la stampa "credenziale creato". Non sto rilasciando nulla, e questo codice viene copiato direttamente dalla documentazione -? Idea di ciò che è sbagliato
- (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];
}
}
Soluzione
Risulta è qualcosa a che fare con quel metodo di autenticazione siti particolari -. Sostituendo il sito che voglio per accedere con un altro sito web e il codice funziona bene
(stavo cercando di raschiare dati dalla pagina di stato di unRaid, unRaid non utilizza un server web vero e proprio, ma in modo emhttp sto supponendo che ha qualcosa a che fare con esso)
Altri suggerimenti
L'unica cosa che non stai controllando è il valore di ritorno di [challenge sender]
. Provare a stampare la sua descrizione per garantire che è non-zero.