OC- 获取当前设备WiFi信息

来源:互联网 发布:淘宝闲置物品怎么买 编辑:程序博客网 时间:2024/06/16 21:37


首先,获取设备WiFi信息,需要添加系统库 <SystemConfiguration/CaptiveNetwork.h> 文件,

然后,上代码:

 NSDictionary *currentWifiInfo = nil;

    // 获取当前的interface 数组

    CFArrayRef currentInterfaces = CNCopySupportedInterfaces();

    

    if (!currentInterfaces) {

        return nil;

    }

    

    // 类型转换,将CF对象,转为NS对象,同时将该对象的引用计数交给 ARC 管理

    NSArray *interfaces = (__bridge_transferNSArray *)currentInterfaces;

    

    if (interfaces.count >0) {

        for (NSString *interfaceNamein interfaces) {

            // 转换类型,不改变引用计数

            CFDictionaryRef dictRef = CNCopyCurrentNetworkInfo((__bridge CFStringRef)(interfaceName));

            if (dictRef) {

                NSDictionary *networkInfo = (__bridge_transferNSDictionary *)dictRef;

                NSString *SSID = [networkInfo objectForKey:(__bridge_transfer NSString *)kCNNetworkInfoKeySSID];

                NSString *BSSID = [networkInfoobjectForKey:(__bridge_transferNSString *)kCNNetworkInfoKeyBSSID];

                NSData *SSIDDATA = [networkInfoobjectForKey:(__bridge_transferNSData *)kCNNetworkInfoKeySSIDData];

                

                currentWifiInfo = @{@"SSID":SSID,

                                    @"BSSID":BSSID,

                                    @"SSIDDATA":SSIDDATA};

                

            }

        }

    }

    

    NSLog(@"currentWifiInfo = %@",currentWifiInfo);


效果图:


1 0
原创粉丝点击