如何检查iOS Swift 2中是否打开或关闭WiFi?
我想检查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
结构区分三件事:
typedef enum : NSInteger { NotReachable = 0, // 1
ReachableViaWiFi, // 2
ReachableViaWWAN // 3
} NetworkStatus;
- 您既没有WiFi也没有移动数据连接。
- 您具有WiFi连接,但是您可能有也可能没有移动数据连接。
- 您具有移动数据连接,但没有WiFi连接。
您 检查WiFi是否已关闭,WiFi是否已打开但附近没有WiFi网络或飞行模式是否已打开。
对于移动数据,可以使用电话类来查找您的设备是否能够进行移动数据连接(iPhone和iPad以及插入的SIM卡),并可以在应用程序首选项中检测是否禁用了移动数据。
以上是 如何检查iOS Swift 2中是否打开或关闭WiFi? 的全部内容, 来源链接: utcz.com/qa/412516.html