Swift3.0: 獲取Wifi SSID
阿新 • • 發佈:2019-01-08
使用SystemConfiguration Api 可以獲取當前連線的 Wifi SSID、BSSID資訊,swift3.0的寫法如下:
首先要匯入SystemConfiguration.framework,然後匯入標頭檔案:
import SystemConfiguration
import SystemConfiguration.CaptiveNetwork
方法:
func getUsedSSID() -> String { let interfaces = CNCopySupportedInterfaces() var ssid = "" if interfaces != nil { let interfacesArray = CFBridgingRetain(interfaces) as! Array<AnyObject> if interfacesArray.count > 0 { let interfaceName = interfacesArray[0] as! CFString let ussafeInterfaceData = CNCopyCurrentNetworkInfo(interfaceName) if (ussafeInterfaceData != nil) { let interfaceData = ussafeInterfaceData as! Dictionary<String, Any> ssid = interfaceData["SSID"]! as! String } } } return ssid }
如果沒有連線 wifi 返回 nil。能獲取到的資訊有:
▿ 3 elements
▿ 0 : 2 elements
- .0 : "SSID"
- .1 : PA_WLAN_MA
▿ 1 : 2 elements
- .0 : "BSSID"
- .1 : 24:de:c6:cf:8a:fd
▿ 2 : 2 elements
- .0 : "SSIDDATA"
- .1 : <50415f57 4c414e5f 4d41>
可能有專案需要獲取 Wifi 列表,這在 iOS9 以前是需要使用私有 Api 的,iOS9以後,有更好的方式來處理,參考 iOS 9 NetworkExtension使用