2010-09-16 5 views
0

J'ai un service Web utilisé par mon application iPhone. L'application accède au service Web pour être authentifiée.Problème de service Web dans iPhone

Ma question est comment intime l'utilisateur lorsque le serveur n'envoie aucune réponse quand il est appelé.

contrôle ie..The ne vient pas

 

-(void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *) response 
{ 
} 

+0

Quelle méthode d'authentification est utilisée par le service Web? (Basique, Digest, Kerberos, ...?) – VdesmedT

Répondre

0

Lorsque vous démarrez le login, commencez également un NSTimer d'appeler un gestionnaire « pas de réponse ». Quelque chose comme ceci:

timeout = [NSDate dateWithTimeIntervalSinceNow:10.0]; 
timeoutTimer = [[NSTimer alloc] initWithFireDate:timeout interval:0 target:self selector:@selector(failLogin) userInfo:nil repeats:NO]; 
[[NSRunLoop currentRunLoop] addTimer:timeoutTimer forMode:NSDefaultRunLoopMode]; 
[loginUrlConnection start]; 

Maintenant, vous avez besoin d'une méthode failLogin pour tuer le loginUrlConnection. Veillez à invalider le minuteur lorsqu'une réponse est reçue:

-(void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *) response { 
    [timeoutTimer invalidate]; 
    /* Handle response... */ 
}