NSString+SSID 分类
.h
#import <Foundation/Foundation.h>
@interface NSString (SSID)
/**
* 获取ssid
*
* @return 获取ssid
*/
+ (id)fetchSSIDInfo;
@end
.m
#import "NSString+SSID.h"
#import <SystemConfiguration/CaptiveNetwork.h>
@implementation NSString (SSID)
+ (id)fetchSSIDInfo {
NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
// NSLog(@"Supported interfaces: %@", ifs);
id info = nil;
for (NSString *ifnam in ifs) {
info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
// NSLog(@"%@ => %@", ifnam, info); //单个数据info[@"SSID"]; info[@"BSSID"];
if (info && [info count]) { break; }
}
if (info[@"BSSID"]) {
return [NSString standardFormateMAC:info[@"BSSID"]];
}
return nil ;
}
//处理一下缺位---
+ (NSString *)standardFormateMAC:(NSString *)MAC {
NSArray * subStr = [MAC componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@":-"]];
NSMutableArray * subStr_M = [[NSMutableArray alloc] initWithCapacity:0];
for (NSString * str in subStr) {
if (1 == str.length) {
NSString * tmpStr = [NSString stringWithFormat:@"0%@", str];
[subStr_M addObject:tmpStr];
} else {
[subStr_M addObject:str];
}
}
NSString * formateMAC = [subStr_M componentsJoinedByString:@":"];
return [formateMAC uppercaseString];
}
@end