Délai d’attente NSURLConnection?

J’utilise cette NSURLConnection avec les delegates.

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

Le problème est que le site Web ne répond pas du tout. Rien, il suffit de tourner dans le navigateur avec une page blanche, sans échec. Chez mes delegates, je gère l’échec, mais lorsque le site ne répond pas, les delegates ne sont pas appelés. Avez-vous des idées sur la manière de mettre fin à la connexion?

Vous pouvez spécifier un délai d’attente dans votre object NSURLRequest . Une façon de faire est de le construire via la requestWithURL:cachePolicy:timeoutInterval: (Vous pouvez transmettre le paramètre NSURLRequestUseProtocolCachePolicy NSURLRequestUseProtocolCachePolicy par défaut si vous ne voulez pas vous soucier de cette partie.) Le délai d’attente est une valeur à virgule flottante en secondes, de même que tous les intervalles de temps du SDK iPhone.

Assurez-vous également que le NSURLConnection votre NSURLConnection est défini et répond à la connection:didFailWithError: method. Une connexion appelle toujours cette méthode ou connectionDidFinishLoading: à la fin de la connexion.

Edit: Cette réponse est maintenant obsolète, mais à la date de réponse était exacte.

Je sais que ce sujet est ancien, mais j’ai aussi rencontré ce problème. Cela s’est produit lors du test de l’application en dehors du réseau interne où les services vivaient. Le service finira par expirer, mais Apple exige une période de 240 secondes (4 minutes) avant que le délai ne soit dépassé. Consultez ce fil pour plus d’informations à ce sujet.

NSMutableURLRequest ne pas obéir à mon timeoutInterval