如何检查是否启用了WIFI按钮(iOS)

时间:2015-06-25 12:06:06

标签: ios objective-c xcode wifi

我希望能够检查用户是否已连接到WiFi,但未连接到网络。所以基本上我想检查设备设置页面上WiFi按钮的状态,以检查按钮是启用还是禁用。

目前,我可以查看Wifi是连接到网络还是没有连接到网络,执行以下操作:

BOOL hasWiFiNetwork = NO;
NSArray *interfaces = CFBridgingRelease(CNCopySupportedInterfaces());
for (NSString *interface in interfaces)
{
    NSDictionary *networkInfo = CFBridgingRelease(CNCopyCurrentNetworkInfo((__bridge CFStringRef)(interface)));
    if (networkInfo != NULL)
    {
        hasWiFiNetwork = YES;
        break;
    }
    else
    {
        hasWiFiNetwork = NO;
        break;
    }
}

3 个答案:

答案 0 :(得分:2)

尝试使用此代码并使用Reachability类。

BOOL isConnectedProperly = ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] == ReachableViaWiFi);

答案 1 :(得分:1)

<强>更新

事实证明,这是不可能的,没有API / Framework / BOOL值可以做到这一点,因为Apple没有添加任何类型的能力来检查WiFi是否已打开或开发人员。正如在这里很好地解释的那样:https://stackoverflow.com/a/12906461/4657588

然后这个SO帖子应该是你想要的:https://stackoverflow.com/a/7938778/4657588

Reachability *reachability = [Reachability reachabilityForInternetConnection];
[reachability startNotifier];

NetworkStatus status = [reachability currentReachabilityStatus];

if (status == ReachableViaWiFi) {
    // WiFi
}

else {
    // Either WiFi is off or we are not connected to a WiFi network.
}

答案 2 :(得分:1)

首先,您需要从apple developer site下载可访问性文件 之后,每当你想要检查时,都要添加这些代码。

org.springframework.data.repository.CrudRepository