Swift3.0: 获取Wifi SSID

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rigel_xu/article/details/52639702

使用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使用

猜你喜欢

转载自blog.csdn.net/rigel_xu/article/details/52639702