无法检测到仅在iPad 2型号上打开或关闭wifi

时间:2016-02-17 16:38:55

标签: ios objective-c iphone ipad

我正在使用下面的代码段来检测是否启用了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和其他型号。

1 个答案:

答案 0 :(得分:0)

对于Reachability类中较旧的iPad设备,您可以尝试界面“ en1 ”而不是“ awdl0 ”。您可以添加if条件以检查“en1”接口以及“awdl0”接口。

AFAIK“ awdl0 ”界面在iPhone 4/4上不起作用,但对iPad 2不确定。