如何在 Mac 应用程序中检索 Wi-Fi 热点列表?

How can I retrieve list of Wi-Fi hotspots in Mac application?

我需要以编程方式检索最近的 Wi-Fi 热点列表(最好使用 swift,但如果不可能,objective-c 也可以)但我只是不明白如何才能我做。我曾尝试搜索样本,但我发现的唯一样本已经过时,并且 Xcode 6.3 上没有 运行。任何帮助都会很棒。

我现在正在尝试使用下面的 Swift 代码,但它不起作用,有什么提示吗?

var ind = CWInterface()

@IBAction func doer(sender: AnyObject) {

    var network:CWNetwork?
   var networks = ind.scanForNetworksWithName(nil, error: nil)
    for network in networks
   {
        print(network)
    }

您可以签出 Apple 项目并将其从 here (that you probably mentioned) with the help of this link 更新为 apple 公开的当前接口。

例如,您使用 kCWPHYMode11a 而不是 kCWPHYMode11A,您使用 kCWSecurityWEP 而不是 kCWSecurityModeWEP。尝试更改这两个,然后转到 kCWSecurityModeWEP 的定义,您将在 header 中看到所有已更改的相应元素,幸好它们具有描述性名称,因此可以直接匹配.请记住,某些枚举可能已更改 - 例如 CWSecurity,因此您需要稍微搜索一下有关这些更改的开发人员说明。

在谷歌搜索和阅读论坛后,我意识到是什么导致我的 Swift 代码使应用程序崩溃,我修复了这个错误,这是工作示例:

var cwInterface: CWInterface = CWInterface(name: "en1")
    var netArray:[CWNetwork]=[]
    var testArray:[String]=[]
netArray = Array(cwInterface.scanForNetworksWithName(nil , error: nil)) as! [CWNetwork]
        var network=netArray[0]
        for network in netArray
        {
            testArray.append(network.ssid)
        }