Swift3.0: 获取Wifi SSID

来源:互联网 发布:java读取zip文件夹 编辑:程序博客网 时间:2024/05/18 02:23

使用SystemConfiguration Api 可以获取当前连接的 Wifi SSID、BSSID信息,swift3.0的写法如下:

首先要导入SystemConfiguration.framework,然后导入头文件:

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

0 0
原创粉丝点击