我希望获得某个地区的所有WiFi网络及其SSID和SSIDDATA值。 使用this我可以获取我正在使用的WiFi网络的SSID和SSIDDATA值。但问题是如何使所有WiFi网络的SSID和SSIDDATA可用,即使我没有连接到一个。我不想像使用stumbler那样使用私有API,因为它会被AppStore拒绝。请指教。
答案 0 :(得分:1)
简单的答案是,如果不使用私有API,就无法获得它们。
答案 1 :(得分:0)
我相信你可以通过Apple的SystemConfiguration API。
来自another post的此代码段可能很有用:
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
}
}