iOS中目前没有提供公开的API用于获得当前所有可用的wifi信号,如果你用了私有的API,那么你的应用将被APP Store拒绝。
但iOS提供了查询当前连接的网络信息的API, CNCopyCurrentNetworkInfo
这个API位于SystemConfiguration.framework里面,使用时需要增加.h和包含库文件
#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];
}
下面是调用的例子:
NSDictionary *ifs = [self fetchSSIDInfo];
NSLog(@"ifs:%@",ifs);
NSString *ssid = [[ifs objectForKey:@"SSID"] lowercaseString];
NSLog(@"ssid:%@",ssid);
但iOS提供了查询当前连接的网络信息的API, CNCopyCurrentNetworkInfo
这个API位于SystemConfiguration.framework里面,使用时需要增加.h和包含库文件
#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];
}
下面是调用的例子:
NSDictionary *ifs = [self fetchSSIDInfo];
NSLog(@"ifs:%@",ifs);
NSString *ssid = [[ifs objectForKey:@"SSID"] lowercaseString];
NSLog(@"ssid:%@",ssid);