具体实现代码见 GitHub 源码 QExtension
#import <SystemConfiguration/CaptiveNetwork.h>
NSString * const BSSIDKey = @"BSSID";
NSString * const SSIDKey = @"SSID";
NSString * const SSIDDATAKey = @"SSIDDATA";
// 获取当前 Wifi 信息
+ (NSDictionary *)q_getCurrentWifiInfo {
NSDictionary *wifiDic = [NSDictionary dictionary];
CFArrayRef arrayRef = CNCopySupportedInterfaces();
if (arrayRef != nil) {
CFDictionaryRef dicRef = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(arrayRef, 0));
CFRelease(arrayRef);
if (dicRef != nil) {
wifiDic = (NSDictionary *)CFBridgingRelease(dicRef);
}
}
return wifiDic;
}
// 获取当前 Wifi 信息
NSDictionary *wifiInfo = [NSDictionary q_getCurrentWifiInfo];
NSLog(@"%@", wifiInfo);
NSString *bssid = wifiInfo[BSSIDKey];
NSString *ssid = wifiInfo[SSIDKey];
NSString *ssidData = [[NSString alloc] initWithData:wifiInfo[SSIDDATAKey] encoding:NSUTF8StringEncoding];
NSLog(@"%@\n %@\n %@", bssid, ssid, ssidData);