【问题标题】:How to get all previously connected Wi-Fi networks in Swift?如何在 Swift 中获取所有以前连接的 Wi-Fi 网络?
【发布时间】:2016-01-04 07:20:36
【问题描述】:

我知道不可能获取所有可用的 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)
}

【问题讨论】:

  • 你好,你从来没有接受我的回答,我知道为什么吗?

标签: ios iphone swift wifi ios9


【解决方案1】:

对于库存 iPhone,这是无法通过设置实现的。您想要的信息存储在 iPhone 的钥匙串中。如果您可以访问 iPhone SDK,如果您愿意,您可以开始搞乱,但我会保留它,因为那将是 StackOverflow 的答案。 Source

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

【讨论】:

  • "iCloud Keychain":我认为这种方法只能在越狱的iOS设备中使用? “kishikawakatsumi/KeychainAccess”:这是关于从应用程序中保存和检索密码。如何使用它访问 iOS 设置中保存的 Wi-Fi 网络列表?
猜你喜欢
  • 1970-01-01
  • 2021-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多