设为首页 收藏本站
查看: 1574|回复: 0

[经验分享] 【IOS】获取wifi名称 (即SSID)

[复制链接]

尚未签到

发表于 2015-10-1 09:13:48 | 显示全部楼层 |阅读模式
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)viewDidLoad
39 {
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 }
  
  效果如下:
DSC0000.jpg


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:ssid
16                                              message:macIp
17                                             delegate:nil
18                                    cancelButtonTitle:nil
19                                    otherButtonTitles:@"OK", nil];
20 [av show];
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-121162-1-1.html 上篇帖子: 连接WIFI的DEMO 下篇帖子: wifi softap(hotspot) porting
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表