【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 && )
12 {
13 break;
14 }
15 ;
16 }
17 ;
18 return ;
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:%@",);
30 if (info[@"SSIDD"]) {
31 ssid = info[@"SSID"];
32
33 }
34 }
35 return ssid;
36 }
37
38 - (void)viewDidLoad
39 {
40 ;
41
42 tempLabel=[initWithFrame:CGRectMake(50, 40, 200, 40)];
43 tempLabel.textAlignment=NSTextAlignmentCenter;
44 ;
45 NSDictionary *ifs = ;
46 NSString *ssid = [ lowercaseString];
47 tempLabel.text=ssid;
48
49 }
log 信息 :
[*]2013-06-05 21:39:14.357 wifiNameDemo dici:{
[*] BSSID = "f4:ec:38:40:cc:e8";
[*] SSID = "Nice_Apple";
[*] SSIDDATA = <4e696365 5f417070 6c65>;
[*]}
[*]2013-06-05 21:39:14.360 wifiNameDemo 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 && )
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 = ;
12 macIp = ;
13 }
14 }
15 UIAlertView *av = [ initWithTitle:ssid
16 message:macIp
17 delegate:nil
18 cancelButtonTitle:nil
19 otherButtonTitles:@"OK", nil];
20 ;
页:
[1]