ios获取当前wifi名称

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

ios5之前可以通过读取配置文件获取,ios5以后苹果修改wifi列表文件位置,只有root权限才可以读取.

ios4:/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager

ios5:/System/Library/SystemConfiguration/ipConfiguration.bundle/IPConfiguration

官方的API没有提供获取扫描所有wifi列表,相近功能的只有CaptiveNetwork,获取当前wifi的名称。

引用头文件<SystemConfiguration/CaptiveNetwork.h>

/*!

@function CNCopySupportedInterfaces

@discussion copies a list of all interfaces CaptiveNetworkSupport is monitoring.

@result An array of CFStringRef- BSD interface names.

Returns NULL if an error was encountered.

You MUST release the returned value.

*/

CFArrayRef

CNCopySupportedInterfaces(void)__OSX_AVAILABLE_STARTING(__MAC_10_8,__IPHONE_4_1);

通过CNCopySupportedInterfaces获取wifi列表,实际测试中返回数组中只有一个值,即当前连接的wifi。

- (NSString *)currentWifiSSID

{

NSString *ssid = nil;

NSArray *ifs = (__bridge id)CNCopySupportedInterfaces();

for (NSString *ifname in ifs) {

NSDictionary *info = (__bridge id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifname);

if (info[@"SSIDD"])

{

ssid = info[@"SSID"];

}

}

return ssid;

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航