如何在 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)
}
我需要以编程方式检索最近的 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)
}