我知道它无法获得所有可用的Wi-Fi网络,并且可以获取当前连接的Wi-Fi网络的信息,如果我错了,请纠正我。<登记/>
我只想知道获取所有以前连接的Wi-Fi网络信息的可行性,请帮助我分享您的经验。
FYI,
我使用以下代码获取当前连接的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)
}
答案 0 :(得分:1)
从iPhone的库存来看,设置无法实现。您想要的信息存储在iPhone的钥匙串中。如果你有权访问iPhone SDK,你可以开始搞乱如果你喜欢,但我会留下它,因为这将是一个StackOverflow答案。 Source
如果启用了ICloud Keychain,则可以获取此数据。否则,你就无法做到。 Source您可以使用kishikawakatsumi/KeychainAccess或自己动手。 Here is homemade code to save and retrieve keychain values. 它是Keychain的一个简单的swift包装器,适用于iOS和OS X