我想检查wifi是否关闭,然后向用户显示警报以检查其连接。
我找到了这样的代码,但是它检查是否有互联网连接,而不是检查wifi是否打开:
func isConnectionAvailble()->Bool{ var rechability = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, "www.apple.com").takeRetainedValue() var flags : SCNetworkReachabilityFlags = 0 if SCNetworkReachabilityGetFlags(rechability, &flags) == 0 { return false } let isReachable = (flags & UInt32(kSCNetworkFlagsReachable)) != 0 let needsConnection = (flags & UInt32(kSCNetworkFlagsConnectionRequired)) != 0 return (isReachable && !needsConnection) }
你不能
使用Apple的可达性类别,您可以根据NetworkStatus结构区分三件事:
NetworkStatus
typedef enum : NSInteger { NotReachable = 0, // 1 ReachableViaWiFi, // 2 ReachableViaWWAN // 3 } NetworkStatus;
您 无法 检查WiFi是否已关闭,WiFi是否已打开但附近没有WiFi网络或飞行模式是否已打开。
对于移动数据,可以使用电话类来查找您的设备是否能够进行移动数据连接(iPhone和iPad以及插入的SIM卡),并可以在应用程序首选项中检测是否禁用了移动数据。