2010-06-21 4 views
2

J'utilise ce code ...Accessibilité sur l'application iPhone avec un faux positif - va-t-il passer la pomme?

Reachability *r = [Reachability reachabilityWithHostName:@"www.maxqdata.com"]; 

NetworkStatus internetStatus = [r currentReachabilityStatus]; 

if ((internetStatus != ReachableViaWiFi) && (internetStatus != ReachableViaWWAN)) 
{ 
UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"No Internet Connection" message:@"You require an internet connection via WiFi or cellular network for location finding to work." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
[myAlert show]; 
[myAlert release]; 
} 

de ce fil

http://www.iphonedevsdk.com/forum/iphone-sdk-development/19546-no-wifi-connection-best-practice-2.html#post118631

pour vérifier les connexions Internet. Alors que cela fonctionne en principe, je reçois un faux positif dans la situation où un réseau cellulaire est disponible mais ne peut pas être activé, quelqu'un a-t-il des idées sur la façon de détecter ce scénario? Sinon, cela risque de se produire si rarement que je peux toujours l'ignorer et donner une erreur lorsque la méthode NSURLConnection ne peut pas se connecter. Je crains que cela ne dépasse pas le processus de vérification. Quelqu'un a-t-il de l'expérience? avec ça?

Merci

Répondre

0

Le seul code « joignabilité » J'ai inclus dans certains de mes applications est d'afficher une erreur si les connexions temps hors - tant que vous manipulez intermittent ou sans connectivité grâce, il ne se vetting passé. S'écraser, ou suspendre l'attente d'une réponse pour toujours, vous sera rejeté. En règle générale, je dirais que tout ce que l'utilisateur trouvera acceptable, j'ai trouvé Apple aussi *.

* (** votre kilométrage peut varier)

+0

Merci pour la réponse. Comment simuler un délai de connexion? Je veux tester que j'obtiens une erreur dans cette instance ... – user157733

+0

Configurez une URL qui ne renvoie aucune réponse (délai d'attente réel), remplacez votre URL par quelque chose sans DNS (réponse instantanée) ou exécutez dans le simulateur et faire un coup de feu bien cadencé du câble réseau. J'ai aussi été vu avec mon téléphone dans une boîte de biscuit avant maintenant ... – Andiih

+0

Il il merci, je suis parti pour manger des biscuits .... – user157733