3

我想获取一个区域内所有可用的 WiFi 网络及其 SSID 和 SSIDDATA 值。使用,我可以获得我正在使用的 WiFi 网络的 SSID 和 SSIDDATA 值。但问题是如何获取所有可用 WiFi 网络的 SSID 和 SSIDDATA,即使我没有连接到其中一个。我不想使用私有 API 来做这件事,因为它会被 AppStore 拒绝。请指教。

4

2 回答 2

1

简单的答案是,如果不使用私有 API,您将无法获得它们。

于 2013-03-19T15:57:37.220 回答
0

我相信您也许可以通过 Apple 的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
    }
}
于 2017-02-01T00:35:30.697 回答