iOS怎么判断设备的WiFi开关是否打开?


由于客户的某些SB要求,偏要监控设备的WiFi的开关是否打开,我Google了大半圈,硬是没有找到,难道只能监控网络的状态,不能监控WiFi开关是否打开吗?求解答……

switch语句 ios wifi

小宇不知道 9 years, 3 months ago

看看这个,或许有帮助


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

SystemConfiguration.framework 可以实现相关功能。
记得添加三个相关头文件


 #import <ifaddrs.h>
#import <net/if.h>
#import <SystemConfiguration/CaptiveNetwork.h>

琉璃色的眼瞳 answered 9 years, 3 months ago

Your Answer