手機(jī)和智能設(shè)備匹配Wi-Fi時(shí)杉允,我們需要獲取手機(jī)當(dāng)前連接的Wi-Fi信息,如SSID束亏,BSSID等铃在。
SSID:全稱 Server Set IDentifier, 即Wi-Fi公開的名稱
BSSIS:指站點(diǎn)的Mac地址
獲取Wi-Fi信息的方法我整理為一個(gè)工具類碍遍,需要注意的是.h文件必須倒入頭文件#import <SystemConfiguration/CaptiveNetwork.h>
.h文件
//SSID
+(NSString *)getDeviceConnectWifiName;
//BSSID
+(NSString *)getDeviceConnectWifiAddress;
//SSIDDATA
+(NSString *)getDeviceConnectWifiData;
.m文件
+(NSString *)getDeviceConnectWifiName{
NSArray *ifs = (__bridge id)CNCopySupportedInterfaces();
id info = nil;
for (NSString *ifnam in ifs) {
info = (__bridge id)CNCopyCurrentNetworkInfo((CFStringRef)CFBridgingRetain(ifnam));
if (info && [info count]) {
break;
}
}
if ([info isKindOfClass:[NSDictionary class]]) {
//獲取SSID
return [info objectForKey:@"SSID"];
}
return nil;
}
+(NSString *)getDeviceConnectWifiAddress{
NSArray *ifs = (__bridge id)CNCopySupportedInterfaces();
id info = nil;
for (NSString *ifnam in ifs) {
info = (__bridge id)CNCopyCurrentNetworkInfo((CFStringRef)CFBridgingRetain(ifnam));
if (info && [info count]) {
break;
}
}
if ([info isKindOfClass:[NSDictionary class]]) {
//獲取BSSID
return [info objectForKey:@"BSSID"];
}
return nil;
}
+(NSString *)getDeviceConnectWifiData{
NSArray *ifs = (__bridge id)CNCopySupportedInterfaces();
id info = nil;
for (NSString *ifnam in ifs) {
info = (__bridge id)CNCopyCurrentNetworkInfo((CFStringRef)CFBridgingRetain(ifnam));
if (info && [info count]) {
break;
}
}
if ([info isKindOfClass:[NSDictionary class]]) {
//獲取SSIDDATA
return [info objectForKey:@"SSIDDATA"];
}
return nil;
}
如此獲取Wi-Fi信息基本可以滿足要求了定铜。