首页 > 代码库 > 【IOS】获取wifi名称 (即SSID)
【IOS】获取wifi名称 (即SSID)
iOS 获取wifi ssid 名称
SSID全称Service Set IDentifier, 即Wifi网络的公开名称.在IOS 4.1以上版本提供了公开的方法来获取该信息.
首先添加框架:SystemConfiguration.framework
1 #import <SystemConfiguration/CaptiveNetwork.h> 2 - (id)fetchSSIDInfo 3 { 4 NSArray *ifs = (id)CNCopySupportedInterfaces(); 5 NSLog(@"%s: Supported interfaces: %@", __func__, ifs); 6 id info = nil; 7 for (NSString *ifnam in ifs) 8 { 9 info = (id)CNCopyCurrentNetworkInfo((CFStringRef)ifnam); 10 NSLog(@"%s: %@ => %@", __func__, ifnam, info); 11 if (info && [info count]) 12 { 13 break; 14 } 15 [info release]; 16 }17 [ifs release]; 18 return [info autorelease];19 }20 21 22 - (NSString *)currentWifiSSID {23 // Does not work on the simulator.24 NSString *ssid = nil;25 NSArray *ifs = ( id)CNCopySupportedInterfaces();26 NSLog(@"ifs:%@",ifs);27 for (NSString *ifnam in ifs) {28 NSDictionary *info = (id)CNCopyCurrentNetworkInfo((CFStringRef)ifnam);29 NSLog(@"dici:%@",[info allKeys]);30 if (info[@"SSIDD"]) {31 ssid = info[@"SSID"];32 33 }34 }35 return ssid;36 }37 38 - (void)viewDidLoad39 {40 [super viewDidLoad];41 42 tempLabel=[[UILabel alloc]initWithFrame:CGRectMake(50, 40, 200, 40)];43 tempLabel.textAlignment=NSTextAlignmentCenter;44 [self.view addSubview:tempLabel];45 NSDictionary *ifs = [self fetchSSIDInfo];46 NSString *ssid = [[ifs objectForKey:@"SSID"] lowercaseString];47 tempLabel.text=ssid;48 49 }
log 信息 :
- 2013-06-05 21:39:14.357 wifiNameDemo[9877:707] dici:{
- BSSID = "f4:ec:38:40:cc:e8";
- SSID = "Nice_Apple";
- SSIDDATA = <4e696365 5f417070 6c65>;
- }
- 2013-06-05 21:39:14.360 wifiNameDemo[9877:707] Nice_Apple
ARC 版本:
1 - (id)fetchSSIDInfo { 2 NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces(); 3 NSLog(@"Supported interfaces: %@", ifs); 4 id info = nil; 5 for (NSString *ifnam in ifs) 6 { 7 info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam); 8 NSLog(@"%@ => %@", ifnam, info); 9 if (info && [info count]) 10 { 11 break; 12 } 13 } 14 return info;15 }
效果如下:
iOS 取得WIFI的热点名称和MAC地址
1 #import <SystemConfiguration/CaptiveNetwork.h> 2 3 NSString *ssid = @"Not Found"; 4 5 NSString *macIp = @"Not Found"; 6 CFArrayRef myArray = CNCopySupportedInterfaces(); 7 if (myArray != nil) { 8 CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0)); 9 if (myDict != nil) {10 NSDictionary *dict = (NSDictionary*)CFBridgingRelease(myDict);11 ssid = [dict valueForKey:@"SSID"];12 macIp = [dict valueForKey:@"BSSID"];13 }14 }15 UIAlertView *av = [[UIAlertView alloc] initWithTitle:ssid16 message:macIp17 delegate:nil18 cancelButtonTitle:nil19 otherButtonTitles:@"OK", nil];20 [av show];
【IOS】获取wifi名称 (即SSID)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。