ios 获取当前wifi名称
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>
1
2
3
4
5
6
7
8
9 |
/*! @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。
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
- ( 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; } |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。