Macos 在Swift 3中检索WiFi网络

Macos 在Swift 3中检索WiFi网络,macos,swift3,wifi,Macos,Swift3,Wifi,我正试图找出机器连接的SSID。我发现的一切都是iOS版的,毫无用处。使用下面的代码,我得到一个错误,声明:“'CNCopyCurrentNetworkInfo'不可用”,因为它是特定于iOS的。macOS的等价物是什么 Swift 3: import SystemConfiguration.CaptiveNetwork var wifiNetwork = "Unknown" if let interfaces = CNCopySupportedInterfaces()

我正试图找出机器连接的SSID。我发现的一切都是iOS版的,毫无用处。使用下面的代码,我得到一个错误,声明:“'CNCopyCurrentNetworkInfo'不可用”,因为它是特定于iOS的。macOS的等价物是什么

Swift 3:

    import SystemConfiguration.CaptiveNetwork

    var wifiNetwork = "Unknown"
    if let interfaces = CNCopySupportedInterfaces() {
        for i in 0..<CFArrayGetCount(interfaces){
            let interfaceName: UnsafeRawPointer = CFArrayGetValueAtIndex(interfaces, i)
            let rec = unsafeBitCast(interfaceName, to: AnyObject.self)
            let unsafeInterfaceData = CNCopyCurrentNetworkInfo("\(rec)" as CFString)

            if let unsafeInterfaceData = unsafeInterfaceData as? Dictionary<AnyHashable, Any> {
                wifiNetwork = (unsafeInterfaceData["SSID"] as? String)!
            }
        }
     }
import SystemConfiguration.CaptiveNetwork
var wifiNetwork=“未知”
如果let interfaces=CNCopySupportedInterfaces(){

对于0中的i…使用苹果网络之神奎因的答案:

复制于此:

func currentSSIDs() -> [String] {  
    guard let interfaceNames = CNCopySupportedInterfaces() as? [String] else {  
        return []  
    }  
    return interfaceNames.flatMap { name in  
        guard let info = CNCopyCurrentNetworkInfo(name as CFString) as? [String:AnyObject] else {  
            return nil  
        }  
        guard let ssid = info[kCNNetworkInfoKeySSID as String] as? String else {  
            return nil  
        }  
        return ssid  
    }  
}  

在检查internet连接后,我使用下面的代码获取当前SSID

import CoreWLAN

let wifiNetwork = CWWiFiClient.shared().interface()!.ssid()!

根据,CNCopyCurrentNetworkInfo仅在iOS和tvOS中可用。我在任何地方都找不到macOS的类似版本。