如何检查是否启用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
返回标志,这有助于我们理解互联网连接的状态。 如果isAvailable
variables返回“true”,那么Host是可达的意味着Wifi可达,并且Internet连接存在。
- 轻松管理Swift项目中的不同环境
- 实际使用variables时未使用的variables警告
- MonoTouch.Dialog:EntryElement的背景颜色
- 如何从iOS应用程序打开VPN? (私人API确定)
- “initWithRequest:delegate:”已被弃用:在iOS 9.0中首先弃用 – 使用NSURLSession(请参阅NSURLSession.h)
- NSMutableAttributedString的属性NSStrikethroughStyleAttributeName在iOS8中无法正常工作
- 核心数据模型文件多核到一个xcode项目是否可行?
- UICollectionView moveItemAtIndexPath:toIndexPath:发出不在屏幕上的移动项目
- 只有CocoaPods的构build主动架构需要在Xcode 6.x中为NO