获取当前Wifi的类方法
#pragma mark 获取当前wifi SSID
+ (NSDictionary *)getWifiName
{
NSDictionary *networkInfo ;
CFArrayRef wifiInterfaces = CNCopySupportedInterfaces();
if (!wifiInterfaces) {
return nil;
}
NSArray *interfaces = (__bridge NSArray *)wifiInterfaces;
for (NSString *interfaceName in interfaces) {
CFDictionaryRef dictRef = CNCopyCurrentNetworkInfo((__bridge CFStringRef)(interfaceName));
if (dictRef) {
networkInfo =[NSDictionary dictionaryWithDictionary: (__bridge NSDictionary *)dictRef];
DLog(@"network info -> %@", networkInfo);
CFRelease(dictRef);
}
}
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithDictionary:networkInfo];
// [dict removeObjectForKey:@"SSIDDATA"];
CFRelease(wifiInterfaces);
return dict;
}
但是现在遇到一个问题,就是获取到的Wifi信息有三项:SSID,BSSID,SSIDDATA。
SSID:自不用多说了,就是Wifi的广播名
BSSID:是类似与Mac地址的一串字符,为什么说是类似于呢,因为Mac地址是写死在硬件里的,但是获取到的BSSID最后位数的字符,是会变化的。因为我做的信任Wifi是通过验证SSID和BSSID的,所以这样会导致信任Wifi列表里可能会产生两个名字相同的Wifi。