gpt4 book ai didi

iPhone Wifi 打开还是关闭?

转载 作者:可可西里 更新时间:2023-11-01 05:00:55 25 4
gpt4 key购买 nike

在 iOS 框架中,如何检查用户是否启用了 Wifi radio ?请注意,我对通过 Wifi 的可达性不感兴趣,而是对设备是否被用户关闭感兴趣。谢谢。

最佳答案

基于:http://www.enigmaticape.com/blog/determine-wifi-enabled-ios-one-weird-trick

可以使用基于 C 的 ifaddress 结构确定 Wifi 状态是开/关:

ifaddrs.h 和

网络/if.h

[代码来源:未知。]

- (BOOL) isWiFiEnabled {

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]];
}
}
}

return [cset countForObject:@"awdl0"] > 1 ? YES : NO;
}

Swift 3 版本(需要桥接头与 #include <ifaddrs.h> ):

func isWifiEnabled() -> Bool {
var addresses = [String]()

var ifaddr : UnsafeMutablePointer<ifaddrs>?
guard getifaddrs(&ifaddr) == 0 else { return false }
guard let firstAddr = ifaddr else { return false }

for ptr in sequence(first: firstAddr, next: { $0.pointee.ifa_next }) {
addresses.append(String(cString: ptr.pointee.ifa_name))
}

freeifaddrs(ifaddr)
return addresses.contains("awdl0")
}

关于iPhone Wifi 打开还是关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12906171/

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