gpt4 book ai didi

iOS:如何查询WiFi状态

转载 作者:可可西里 更新时间:2023-11-01 06:24:29 25 4
gpt4 key购买 nike

是否可以在 iOS 上以编程方式查询 WiFi 状态(启用/禁用)?当启用 WiFi 且设备未连接到任何网络时,查询应返回 true。

编辑: 我知道 Reachability 类提供的功能,据我所知,它无法识别已启用但未连接的 WIFI 状态。 IE。以下代码将返回 NetworkStatus NotReachable,这不是我需要的。

Reachability* r = [Reachability reachabilityForLocalWiFi];
NetworkStatus ns = [r currentReachabilityStatus];

最佳答案

免责声明:以下解决方案不可靠并且不能保证它会通过 AppStore

到目前为止,我能找到的唯一可行的解​​决方案是使用 getifaddrs 函数请求和评估可用接口(interface)列表。如果 WiFi 禁用/启用/连接,列表看起来会有所不同:

NSCountedSet * cset = [NSCountedSet new];
struct ifaddrs *interfaces;

if( ! getifaddrs(&interfaces) ) {
for( struct ifaddrs *interface = interfaces; interface; interface = interface->ifa_next) {
if ( (interface->ifa_flags & IFF_UP) == IFF_UP ) {
[cset addObject:[NSString stringWithUTF8String:interface->ifa_name]];
}
}
}

freeifaddrs(interfaces);

return [cset countForObject:@"awdl0"] > 1 ? WIFI_ON : WIFI_OFF;

关于iOS:如何查询WiFi状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26206957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com