简体   繁体   English

如何使用CaptiveNetwork获取可用WiFi网络列表

[英]How can i get list of available WiFi network using CaptiveNetwork

I want to get all the WiFi networks available in a region and their SSID and SSIDDATA value. 我希望获得区域中所有可用的WiFi网络及其SSID和SSIDDATA值。 Using this I am able to get the SSID and SSIDDATA value for the WiFi network that I am using. 使用此功能,我可以获取我正在使用的WiFi网络的SSID和SSIDDATA值。 But the problem is how to get the SSID and SSIDDATA of all the WiFi network available even if I am not connected to one. 但问题是如何使所有WiFi网络的SSID和SSIDDATA可用,即使我没有连接到一个。 I do not want to do it using the private API like in case of stumbler as it will be rejected by AppStore. 我不想像使用stumbler那样使用私有API,因为它会被AppStore拒绝。 Please advice. 请指教。

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

I believe you might be able to through Apple's SystemConfiguration API . 我相信你可以通过Apple的SystemConfiguration API

This code segment from another post might be useful: 来自其他帖子的此代码段可能很有用:

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
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM