iOS 获取wifi ssid 名称
2013-11-28 15:06
162 查看
SSID全称Service Set IDentifier, 即Wifi网络的公开名称.在IOS 4.1以上版本提供了公开的方法来获取该信息.
[html] view
plaincopy
#import <SystemConfiguration/CaptiveNetwork.h>
[html] view
plaincopy
-(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 信息 :
[html] view
plaincopy
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 版本:
[html] view
plaincopy
- (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;
}
效果如下:
![](http://img.blog.csdn.net/20130605214111750)
补充:------此方法也未必通过审核------------------
?
记得增加:
#import <SystemConfiguration/CaptiveNetwork.h>
//首先添加框架首先添加框架:SystemConfiguration.framework
如果你不考虑提交App Store审核问题
可以看看这个项目库
http://code.google.com/p/iphone-wireless/
[html] view
plaincopy
#import <SystemConfiguration/CaptiveNetwork.h>
[html] view
plaincopy
-(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 信息 :
[html] view
plaincopy
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 版本:
[html] view
plaincopy
- (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;
}
效果如下:
补充:------此方法也未必通过审核------------------
#import <SystemConfiguration/CaptiveNetwork.h>
//首先添加框架首先添加框架:SystemConfiguration.framework
如果你不考虑提交App Store审核问题
可以看看这个项目库
http://code.google.com/p/iphone-wireless/
相关文章推荐
- iOS 获取wifi ssid 名称
- iOS 获取当前Wifi的 名称 SSID
- iOS 获取wifi ssid 名称
- iOS获取当前连接的WiFi名称即SSID的方法
- iOS 获取wifi ssid 名称
- iOS 获取wifi ssid 名称
- 获取iOS设备信息(内存/电量/容量/型号/IP地址/当前WIFI名称)
- iPhone,iPad如何获取WIFI名称即SSID
- Android如何获取Wifi名称即SSID
- 获取iOS设备信息(内存/电量/容量/型号/IP地址/当前WIFI名称)
- iOS 获取Wifi的SSID及MAC地址
- iOS 获取WIFI SSID及MAC地址
- iPhone,iPad如何获取WIFI名称即SSID
- 获取iOS设备信息(内存/电量/容量/型号/IP地址/当前WIFI名称)
- Android开发之如何获取wifi的名称即SSID
- Android如何获取Wifi名称即SSID
- iOS 获取当前Wifi的SSID
- iOS获取当前所连接的WIFI名称
- iOS 获取Wifi的SSID及MAC地址
- iOS 获取wifi ssid 名