如何检查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;

  1. 您既没有WiFi也没有移动数据连接。
  2. 您具有WiFi连接,但是您可能有也可能没有移动数据连接。
  3. 您具有移动数据连接,但没有WiFi连接。

您 检查WiFi是否已关闭,WiFi是否已打开但附近没有WiFi网络或飞行模式是否已打开。

对于移动数据,可以使用电话类来查找您的设备是否能够进行移动数据连接(iPhone和iPad以及插入的SIM卡),并可以在应用程序首选项中检测是否禁用了移动数据。

以上是 如何检查iOS Swift 2中是否打开或关闭WiFi? 的全部内容, 来源链接: utcz.com/qa/412516.html

回到顶部