如何获取 Swift 中所有以前连接过的 Wi-Fi 网络?

How to get all previously connected Wi-Fi networks in Swift?

我知道获取所有可用的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,您可以根据需要开始摆弄,但我会保留它,因为那将是 Whosebug 的答案。 Source

如果您启用了 ICloud 钥匙串,则可以获取此数据。否则,你不能。 Source You can use kishikawakatsumi/KeychainAccess or do it yourself. 这是一个简单的 swift 钥匙串包装器,适用于 iOS 和 OS X