如何检查是否启用wifi选项

如何检查iPhone上是否启用了WiFi选项(但也许iPhone没有连接到无线networking)。

为此,您需要在项目中导入可达性类。

然后:-

#import "Reachability.h" 

在你看来DidLoad写: –

 - (void)viewDidLoad { Reachability *internetReach = [[Reachability reachabilityForInternetConnection] retain]; [internetReach startNotifer]; Reachability *wifiReach = [[Reachability reachabilityForLocalWiFi] retain]; [wifiReach startNotifer]; NetworkStatus netStatus1 = [internetReach currentReachabilityStatus]; NetworkStatus netStatus2 = [wifiReach currentReachabilityStatus]; if(netStatus1 == NotReachable && netStatus2 == NotReachable) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sorry" message:@"This feature requires an internet connection." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; [alertView release]; } else {//wifi connection available; } } 

为此find了一大堆代码。 添加Reachability类到你的项目,然后你可以这样做:

 BOOL isConnectedProperly = ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] == ReachableViaWiFi); 
  First import Reachability files into your project. -(void)loginButtonTouched { bool success = false; const char *host_name = [@"www.google.com" cStringUsingEncoding:NSASCIIStringEncoding]; SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName (NULL, host_name); SCNetworkReachabilityFlags flags; success = SCNetworkReachabilityGetFlags(reachability, &flags); bool isAvailable = success && (flags & kSCNetworkFlagsReachable) && !(flags & kSCNetworkFlagsConnectionRequired); if (isAvailable) { NSLog(@"Host is reachable: %d", flags); // Perform Action if Wifi is reachable and Internet Connectivity is present } else { NSLog(@"Host is unreachable"); // Perform Action if Wifi is reachable and Internet Connectivity is not present } } 

loginButtonTouched方法被调用时,我们检查www.google.com是否可以访问。 SCNetworkReachabilityFlags返回标志,这有助于我们理解互联网连接的状态。 如果isAvailablevariables返回“true”,那么Host是可达的意味着Wifi可达,并且Internet连接存在。