Timeout NSURLConnection?

Sto usando questo NSURLConnection con i delegati.

nsconnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES]; 

Il problema è che il sito Web non risponde affatto. Niente, gira solo nel browser con una pagina vuota, senza errori. Nei miei delegati, gestisco l’errore, ma quando il sito non risponde i delegati non vengono richiamati. Qualche idea su come interrompere la connessione?

È ansible specificare un timeout nell’object NSURLRequest . Un modo per farlo è costruirlo tramite requestWithURL:cachePolicy:timeoutInterval: method. (Puoi passare il parametro predefinito NSURLRequestUseProtocolCachePolicy cachePolicy se non vuoi preoccuparti di quella parte.) Il timeout è un valore a virgola mobile in secondi, così come lo sono praticamente tutti gli intervalli di tempo nell’SDK di iPhone.

Assicurati inoltre che il delegato di NSURLConnection sia impostato e risponda alla connection:didFailWithError: method. Una connessione chiama sempre questo metodo o connectionDidFinishLoading: al completamento della connessione.

Modifica: questa risposta è ora obsoleta, ma alla data della risposta era accurata.

So che questo thread è vecchio, ma mi sono imbattuto in questo problema. Questo è accaduto quando si testava l’app al di fuori della rete interna in cui vivevano i servizi. Il servizio finirà per scadere, ma Apple impone un periodo di 240 secondi (4 minuti) prima che si verifichi il timeout. Dai un’occhiata a questa discussione per maggiori informazioni sull’argomento.

NSMutableURLRequest non obbedisce al mio timeoutInterval