iOS获取WiFi名称以及Mac地址
2018-11-13 本文已影响49人
追寻那一米阳光
首先导入系统库
import SystemConfiguration.CaptiveNetwork
获取连接WiFi名称
func getWIFINmae() -> NSString {
var ssid = "Not Found"
//
let myArray:NSArray = CNCopySupportedInterfaces()!
for sub in myArray {
if let dict:NSDictionary = CFBridgingRetain(CNCopyCurrentNetworkInfo(sub as! CFString)) as? NSDictionary{
ssid = (dict["SSID"] as? String)!
/*
dict :
▿ 0 : 2 elements
- key : SSIDDATA
- value : <e68a80e6 9cafe983 a8>
▿ 1 : 2 elements
- key : BSSID
- value : Mac地址
▿ 2 : 2 elements
- key : SSID
- value : WiFi名称
*/
}
}
return ssid as NSString;
}
获取Mac地址
func getWiFiMacName() -> NSString {
var macIp = "Not Found"
let myArrary:NSArray = CNCopySupportedInterfaces()!
for sub in myArrary {
if let dict = CFBridgingRetain(CNCopyCurrentNetworkInfo(sub as! CFString)){
macIp = (dict["BSSID"] as? String)!
}
}
return macIp as NSString
}
CNCopySupportedInterfaces()
返回所监视的所有网络接口的名称。网络接口名称,作为CFStringRef对象的数组。所有权遵循Create Rule。
CFBridgingRetain(_:)
将Objective-C指针转换为Core Foundation指针,并将所有权转移给调用方。
CNCopyCurrentNetworkInfo
返回给定网络接口的当前网络信息
包含接口当前网络信息的字典。所有权遵循Create规则。Create Rule介绍
SSID
网络的服务集标识符(SSID),编码为字符串。
源码地址