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

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

阅读 6.3k
1 个回答

看看这个,或许有帮助

- (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>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏