La requête ASIHTTPRequest expire

Je travaille sur cette question depuis longtime, et je ne sais pas comment procéder pour essayer de le résoudre.

J'ai une request ASIHTTP simple. Le code est posté ci-dessous.

L'application fonctionne toujours lorsque je l'exécute pour la première fois. J'ai une vue de table que je peux tirer pour actualiser, ce qui initie le ASIHTTPRequest, et je peux actualiser autant de fois que je veux sans problème. Je peux envoyer l'application à l'arrière-plan et la ramener et tout fonctionne bien. Mais si je quitte l'application pendant un certain nombre d'heures et que je reviens, parfois je vais commencer à recevoir une erreur d'expiration de la requête. Une fois que cela se produit, l'erreur se répète chaque fois que j'essaie de rafraîchir et je ne suis jamais capable de me connecter à nouveau sans réellement éteindre l'application et le redémarrer.

Je ne crois pas que le problème est avec mon URL, car il peut être bloqué sur un appareil tout en étant bien sur un autre appareil. Je n'ai jamais été capable d'get l'erreur de time mort sur le simulateur.

Je peux imaginer pourquoi je pourrais avoir une fois l'erreur d'expiration, mais je ne peux pas comprendre pourquoi une fois que cela commence, l'erreur ne s'arrête jamais. Je n'ai vraiment aucune idée de l'endroit où chercher pour résoudre ce problème ou de la façon dont je pourrais le déboguer.

Il peut être pertinent de noter que j'utilise actuellement TestFlightLive, GoogleAnalytics et Urban Airship dans mon application. Peut-être qu'une de ces bibliothèques pose un problème avec mon comportement de réseau?

Voici le code:

- (void)getData { NSURL *url = [NSURL URLWithSsortingng:@"http://www.mysite.com/appname/latestData.py?callback=?"]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request setDelegate:self]; [request setTimeOutSeconds:20.0]; [request startAsynchronous]; } - (void)requestFinished:(ASIHTTPRequest *)request { NSData *responseData = [request responseData]; DLog(@"requestFinished entered"); NSSsortingng *dataSsortingng = [[NSSsortingng alloc] initWithData:responseData encoding:NSUTF8SsortingngEncoding]; // Update the data model if (dataSsortingng != nil) { SBJsonParser *jsonParser = [[SBJsonParser alloc] init]; NSDictionary *dataDictionary = [jsonParser objectWithSsortingng:dataSsortingng error:NULL]; [self updateDataModel:dataDictionary]; } [self refreshIsFinished]; } - (void)requestFailed:(ASIHTTPRequest *)request { NSError *error = [request error]; // inform the user ELog(@"Connection failed! Error - %@ %@", [error localizedDescription], [[error userInfo] objectForKey:NSURLErrorFailingURLSsortingngErrorKey]); UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:NSLocalizedSsortingng(@"CONNECTION_FAILED_MESSAGE",nil) delegate:nil cancelButtonTitle:NSLocalizedSsortingng(@"CLOSE",nil) otherButtonTitles:nil]; [alertView show]; [self updateUI]; [self refreshIsFinished]; }