我知道不可能获得所有可用的Wi-Fi网络,并且有可能获得当前连接的Wi-Fi网络的信息,如果我错了,请纠正我。
我只想知道获取所有以前连接的Wi-Fi网络信息的可行性,请分享您的经验来帮助我。

仅供参考
我正在使用以下代码获取当前连接的Wi-Fi网络的信息,并且可以正常工作。

var currentSSID: String!
let interfaces:CFArray! = CNCopySupportedInterfaces()
for i in 0..<CFArrayGetCount(interfaces) {
    let interfaceName: UnsafePointer<Void>
    =  CFArrayGetValueAtIndex(interfaces, i)
    let rec = unsafeBitCast(interfaceName, AnyObject.self)
    let unsafeInterfaceData = CNCopyCurrentNetworkInfo("\(rec)")
    if unsafeInterfaceData != nil {
        let interfaceData = unsafeInterfaceData! as Dictionary!
        currentSSID = interfaceData["SSID"] as! String
    } else {
        currentSSID = ""
    }
    print(currentSSID)
}

最佳答案

对于现有的iPhone,无法通过设置进行设置。您想要的信息存储在iPhone的钥匙串中。如果您可以访问iPhone SDK,则可以根据需要随意摆弄,但是我将保留它,因为那将是StackOverflow的答案。 Source

如果启用了ICloud钥匙串,则可以获取此数据。否则,您不能。 Source您可以使用kishikawakatsumi/KeychainAccess或自己动手做。 Here is homemade code to save and retrieve keychain values.
它是适用于iOS和OS X的钥匙串的简单快速包装器

关于ios - 如何在Swift中获取所有先前连接的Wi-Fi网络?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34586378/

10-11 05:17