我正在使用下面的代码段来检测是否启用了wifi。 此代码在iPad Air或
上正常工作(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;
}
对于iPad 2生成型号,此代码不起作用,即返回0。 请帮我这个,即在这个模型上开启或关闭wifi的任何其他方式。
此问题仅适用于iPad 2型号,我已经提到它适用于iPad Air和其他型号。
答案 0 :(得分:0)
对于Reachability类中较旧的iPad设备,您可以尝试界面“ en1 ”而不是“ awdl0 ”。您可以添加if条件以检查“en1”接口以及“awdl0”接口。
AFAIK“ awdl0 ”界面在iPhone 4/4上不起作用,但对iPad 2不确定。