iOS 获取Wi-Fi的SSID
来源:互联网 发布:js windows调用firefox 编辑:程序博客网 时间:2024/06/11 16:38
SSID全称Service Set IDentifier, 即Wifi网络的公开名称.在IOS 4.1以上版本提供了公开的方法来获取该信息.
- #import <SystemConfiguration/CaptiveNetwork.h>
- -(id)fetchSSIDInfo
- {
- NSArray *ifs = (id)CNCopySupportedInterfaces();
- NSLog(@"%s: Supported interfaces: %@", __func__, ifs);
- id info = nil;
- for (NSString *ifnam in ifs) {
- info = (id)CNCopyCurrentNetworkInfo((CFStringRef)ifnam);
- if (info && [info count]) {
- break;
- }
- [info release];
- }
- [ifs release];
- return [info autorelease];
- }
- - (NSString *)currentWifiSSID {
- // Does not work on the simulator.
- NSString *ssid = nil;
- NSArray *ifs = ( id)CNCopySupportedInterfaces();
- NSLog(@"ifs:%@",ifs);
- for (NSString *ifnam in ifs) {
- NSDictionary *info = (id)CNCopyCurrentNetworkInfo((CFStringRef)ifnam);
- NSLog(@"dici:%@",[info allKeys]);
- if (info[@"SSIDD"]) {
- ssid = info[@"SSID"];
- }
- }
- return ssid;
- }
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- tempLabel=[[UILabel alloc]initWithFrame:CGRectMake(50, 40, 200, 40)];
- tempLabel.textAlignment=NSTextAlignmentCenter;
- [self.view addSubview:tempLabel];
- NSDictionary *ifs = [self fetchSSIDInfo];
- NSString *ssid = [[ifs objectForKey:@"SSID"] lowercaseString];
- tempLabel.text=ssid;
- }
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 版本:
- - (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);
- if (info && [info count]) { break; }
- }
- return info;
- }
效果如下:
补充:------此方法也未必通过审核------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
+ (
id
)fetchSSIDInfo
{
NSArray
*ifs = (
id
)CNCopySupportedInterfaces();
NSLog
(@
"%s: Supported interfaces: %@"
, __func__, ifs);
id
info =
nil
;
for
(
NSString
*ifnam in ifs) {
info = (
id
)CNCopyCurrentNetworkInfo((CFStringRef)ifnam);
if
(info && [info count]) {
break
;
}
[info release];
}
[ifs release];
return
[info autorelease];
}
1
2
3
4
//check wifi sid
NSDictionary
*ifs = [BaseFunction fetchSSIDInfo];
NSString
*ssid = [[ifs objectForKey:@
"SSID"
] lowercaseString];
debug_NSLog(@
"ssid:%@"
,ssid);
记得增加:
#import <SystemConfiguration/CaptiveNetwork.h>
//首先添加框架首先添加框架:SystemConfiguration.framework
如果你不考虑提交App Store审核问题
可以看看这个项目库
http://code.google.com/p/iphone-wireless/
0 0
- iOS 获取Wi-Fi的SSID
- iOS获取当前无线连接的SSID信息和WI-FI名称
- Android下得到Wi-Fi的SSID
- 需求:获取iPhone当前Wi-Fi的SSID等网络信息
- iOS获取Wi-Fi名字
- Android中自动连接到指定SSID的Wi-Fi
- Android中自动连接到指定SSID的Wi-Fi
- Android中自动连接到指定SSID的Wi-Fi
- iOS 获取当前设备连接Wi-Fi的方法总结
- Android Wi-Fi 支持中文SSID修改
- 一键获取隐藏Wi-Fi SSID:利用Python和Scapy发现隐藏无线热点
- 【iOS】越狱环境下iOS实现周边Wi-Fi RSSi值的获取
- 【iOS】越狱环境下iOS实现周边Wi-Fi RSSi值的获取
- 转-Android中自动连接到指定SSID的Wi-Fi
- iOS学习笔记 5 —— 获取当前连接的Wi-fi信息
- 获取当前Wi-Fi 名称
- Android Wi-Fi 获取RSSI的代码流程
- iOS开发 获取当前WIFI的SSID
- MySQL- SHOW TABLE STATUS命令
- Eclipse上配置MonkeyRunner(Windows)
- 解读ASP.NET 5 & MVC6系列(2):初识项目
- session 注册简单验证码的实现
- ibatis resultMap使用的问题
- iOS 获取Wi-Fi的SSID
- 算法:两种对拼音进行智能切分的方法
- cxf发布webservice
- Linux基础(七)内核线程和用户线程
- iOS开发——TTS文本发音——(附)单词、中文发音示例和工具类
- Web Api 自动生成帮助文档
- long 类型的自增长ID生成类,支持多线程。
- deeplearning系列(五)实现一个简单的深度神经网络
- 入门级--《飞镖忍者》游戏分析总结