Question

J'utilise cette connexion NSURLC avec des délégués.

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

Le problème, c'est que le site Web ne répond pas du tout. Rien, juste tourne dans le navigateur avec une page blanche, pas d'échec. Dans mes délégués, je gère l'échec, mais lorsque le site ne répond pas, les délégués ne sont pas appelés. Des idées sur la façon de temporiser la connexion?

Était-ce utile?

La solution

Vous pouvez spécifier un délai d'attente dans votre objet NSURLRequest . Une façon de le faire est de le construire via la requestWithURL: cachePolicy: timeoutInterval: . (Vous pouvez transmettre le paramètre par défaut cachePolicy NSURLRequestUseProtocolCachePolicy si vous ne souhaitez pas vous soucier de cette partie.) Le délai d'attente est une valeur à virgule flottante exprimée en secondes, comme le sont pratiquement tous les intervalles de temps de l'iPhone. SDK.

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

Autres conseils

Modifier: cette réponse est maintenant obsolète, mais à la date de la réponse, elle était exacte.

Je sais que ce fil est ancien, mais je me suis heurté à ce problème également. Cela s'est produit lors du test de l'application en dehors du réseau interne où vivaient les services. Le service expirera éventuellement, mais Apple impose une période de 240 secondes (4 minutes) avant l'expiration du délai. Consultez ce fil pour plus d'informations à ce sujet.

NSMutableURLRequest ne pas obéir à mon délai d'attenteInterval

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top