如何检查 WIFI 按钮是否启用 (iOS)
How to check if WIFI button is enabled (iOS)
我希望能够检查用户是否已连接到 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;
}
}
尝试此代码并使用可达性 class。
BOOL isConnectedProperly = ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] == ReachableViaWiFi);
更新
事实证明这是不可能的,没有 API/Framework/BOOL 值可以做到这一点,因为 Apple 没有添加任何类型的功能来检查 WiFi 是否打开或关闭对于开发人员。正如这里很好地解释的那样:
那么这个post应该就是你想要的:
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.
}
首先您需要从 apple developer site 下载可达性文件
然后每次你想检查的地方添加这些代码。
-(BOOL)isConnectedTointernet{
BOOL status = NO;
Reachability *reachability = [Reachability reachabilityForInternetConnection];
int networkStatus = reachability.currentReachabilityStatus;
status = (networkStatus != NotReachable)? YES:NO;
return status;}
我希望能够检查用户是否已连接到 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;
}
}
尝试此代码并使用可达性 class。
BOOL isConnectedProperly = ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] == ReachableViaWiFi);
更新
事实证明这是不可能的,没有 API/Framework/BOOL 值可以做到这一点,因为 Apple 没有添加任何类型的功能来检查 WiFi 是否打开或关闭对于开发人员。正如这里很好地解释的那样:
那么这个post应该就是你想要的:
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.
}
首先您需要从 apple developer site 下载可达性文件 然后每次你想检查的地方添加这些代码。
-(BOOL)isConnectedTointernet{
BOOL status = NO;
Reachability *reachability = [Reachability reachabilityForInternetConnection];
int networkStatus = reachability.currentReachabilityStatus;
status = (networkStatus != NotReachable)? YES:NO;
return status;}