2010-12-27 14 views
1

Ich wollte überprüfen, ob Internet verbunden ist oder nicht entweder mit der Systemkonfiguration oder dem CFNetwork ich bin nicht ganz sicher, welche.So überprüfen Sie den Internetstatus in iPhone

Dann möchte ich wissen, dass, wenn das Internet verbunden ist, dann ist es über WLAN verbunden oder nicht.

habe ich versucht, ein Beispiel, wo ich

 
-(IBAction) shownetworkStatus 
{ 
    NSString *str = @"http://www.google.com"; 

    NSURL *url = [NSURL URLWithString:str]; 

    NSURLRequest *req = [NSURLRequest requestWithURL:url]; 

    if (req!=NULL) { 
     lbl.text = @"Connected"; 
    } 
    else { 
     lbl.text = @"notConnected"; 
    } 

} 


einige den Code unten sagen, es ist nicht gültig pro Apfel und Sie haben die Systemconfiguration Framework nutzen, Bitte lassen Sie mich wissen, was getan werden muss.

Auch ich persönlich denke, dass das, was ich in dem obigen Code tue, nicht richtig ist, als ob eines Tages Google wegen der Wartung oder einiger anderer Faktoren auch ausfallen könnte.

Auch wenn Sie mir einen Link zur Verfügung stellen könnten, wo ich den Namen des WIFI-Netzwerkes anzeigen könnte, dann wäre es wirklich cool.

suchte ich im Internet dann habe ich diese Reachability.h Code, der wiederum ein Türsteher ist als i wana die Konzepte lernen, nicht kopieren

Dank Paste und Grüße

Antwort

0

Sie die Erreichbarkeit Code verwenden von Apple zur Verfügung gestellt. Es ist Beispielcode. Sie können alle Details bezüglich der Internetverbindung finden. Hier ist der Link http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

+0

und wie um den Wifi-Namen zu bekommen könnten Sie bitte etwas Licht darauf setzen – Radix

+0

Ich denke, dass Sie durch diesen Thread gehen sollten http://StackOverflow.com/Questions/351954/accessing-Iphone-Wifi-Information-Via-SDK – Raxit

1

Gebäude auf, was Raxit erwähnt, verwende ich den folgenden Code (aus dem Erreichbarkeits Beispiel durch Raxit erwähnt extrahiert) für den Internet-Zugang in meiner Anwendung delegieren zu überprüfen:

- (BOOL)isReachableWithoutRequiringConnection:(SCNetworkReachabilityFlags)flags 
{ 
    BOOL isReachable = flags & kSCNetworkReachabilityFlagsReachable; 

    BOOL noConnectionRequired = !(flags & kSCNetworkReachabilityFlagsConnectionRequired); 
    if ((flags & kSCNetworkReachabilityFlagsIsWWAN)) { 
     noConnectionRequired = YES; 
    } 

    return (isReachable && noConnectionRequired) ? YES : NO; 
} 

- (BOOL)isHostReachable:(NSString *)host 
{ 
    if (!host || ![host length]) { 
     return NO; 
    } 

    SCNetworkReachabilityFlags  flags; 
    SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL, [host UTF8String]); 
    BOOL gotFlags = SCNetworkReachabilityGetFlags(reachability, &flags); 

    CFRelease(reachability); 

    if (!gotFlags) { 
     return NO; 
    } 

    return [self isReachableWithoutRequiringConnection:flags]; 
} 


- (BOOL)connectedToNetwork { 

    return [self isHostReachable:@"www.hostyoureallycareabouthavingaconnectionwith.com"]; 
} 
Verwandte Themen