我想获取一个区域内所有可用的WiFi网络及其SSID和SSIDDATA值。使用这个,我可以获得我正在使用的WiFi网络的SSID和SSIDDATA值。但问题是如何获取所有可用WiFi网络的SSID和SSIDDATA,即使我没有连接到其中任何一个。我不想使用类似stumbler的私有API来实现,因为它将被AppStore拒绝。请给予建议。
我相信你可以通过苹果的SystemConfiguration API来实现。
这个另一篇文章中的代码片段可能会有用:
import UIKit
import Foundation
import SystemConfiguration.CaptiveNetwork
class FirstView: UIViewController
{
@IBOutlet weak var label: UILabel!
override func viewDidLoad()
{
super.viewDidLoad()
let ssid = self.getWiFiName()
print("SSID: \(ssid)")
}
func getWiFiName() -> String? {
var ssid: String?
if let interfaces = CNCopySupportedInterfaces() as NSArray? {
for interface in interfaces {
if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? {
ssid = interfaceInfo[kCNNetworkInfoKeySSID as String] as? String
break
}
}
}
return ssid
}
}