2012-02-13 4 views
5

In un programma che sto creando per iOS 5, sto riscontrando un comportamento imprevisto con il metodo checkResourceIsReachableAndReturnError di NSURL.Superamento del comportamento imprevisto di NSURL's checkResourceIsReachableAndReturnError

Ho creato un nuovo progetto per verificare il problema e comprendeva solo il codice:

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"]; 
NSError *err = nil; 
if([url checkResourceIsReachableAndReturnError:&err]){ 
    NSLog(@"URL is reachable"); 
}else { 
NSLog(@"URL is not reachable"); 
} 

Inoltre, ho provato:

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"]; 
NSError *err = nil; 
[url checkResourceIsReachableAndReturnError:&err]; 
if(err == nil){ 
NSLog(@"URL is reachable"); 
}else { 
NSLog(@"URL is not reachable"); 
} 

... ancora senza alcun risultato. Il risultato è sempre "l'URL non è raggiungibile", al contrario di stackoverflow.com (e di altri domini che ho testato) ovviamente raggiungibile. Come si utilizza questa funzione per verificare se una risorsa è raggiungibile?

+2

Il controllo degli errori è errato. ** Sempre ** controlla il valore restituito per sapere se qualcosa è riuscito o meno. ** Mai ** fare affidamento sul puntatore di errore per questo; è lì per fornire ulteriori informazioni come richiesto –

risposta

6

Il Apple docs per checkResourceIsReachableAndReturnError: Stato:

Returns whether the resource pointed to by a file URL can be reached. 

Nota: "URL del file", non Internet o altro URL schema.

+0

Grazie per il chiarimento. Devo averlo perso. –