如何使用第三方库在 Swift 中的应用程序中获取我附近所有 wifi 的列表
How can I get the list of all wifi that are near me on my Application in Swift, with Third Party Library
我正在尝试制作一个应用程序,在我的应用程序上显示所有附近的 wifi 列表。 tableview 上所有 wifi 的 SSID,但其中的信息非常少。如果有任何第三方库可以显示这一点,那将会很有帮助。
你不能。 Apple 没有提供附近的 wifi 列表。但是有一种方法可以获得列表。
苹果在特殊情况下提供列表。您必须遵循特定步骤并在 Apple 支持下回答一些问题。你必须证明你的应用程序是基于像 Xender 这样的 Wi-Fi 管理
目前您只能获取已连接 AP(接入点)的已连接 SSID 和 BSSID。并且您将在下面或等效的 iOS 10 中获得已连接热点的 ssid 和 bssid。
欲了解更多信息,请阅读 doc and this
编辑SWIFT 3
func printCurrentWifiInfo() {
if let interface = CNCopySupportedInterfaces() {
for i in 0..<CFArrayGetCount(interface) {
let interfaceName: UnsafeRawPointer = CFArrayGetValueAtIndex(interface, i)
let rec = unsafeBitCast(interfaceName, to: AnyObject.self)
if let unsafeInterfaceData = CNCopyCurrentNetworkInfo("\(rec)" as CFString), let interfaceData = unsafeInterfaceData as? [String : AnyObject] {
// connected wifi
print("BSSID: \(interfaceData["BSSID"]), SSID: \(interfaceData["SSID"]), SSIDDATA: \(interfaceData["SSIDDATA"])")
} else {
// not connected wifi
}
}
}
}
我正在尝试制作一个应用程序,在我的应用程序上显示所有附近的 wifi 列表。 tableview 上所有 wifi 的 SSID,但其中的信息非常少。如果有任何第三方库可以显示这一点,那将会很有帮助。
你不能。 Apple 没有提供附近的 wifi 列表。但是有一种方法可以获得列表。 苹果在特殊情况下提供列表。您必须遵循特定步骤并在 Apple 支持下回答一些问题。你必须证明你的应用程序是基于像 Xender 这样的 Wi-Fi 管理
目前您只能获取已连接 AP(接入点)的已连接 SSID 和 BSSID。并且您将在下面或等效的 iOS 10 中获得已连接热点的 ssid 和 bssid。 欲了解更多信息,请阅读 doc and this
编辑SWIFT 3
func printCurrentWifiInfo() {
if let interface = CNCopySupportedInterfaces() {
for i in 0..<CFArrayGetCount(interface) {
let interfaceName: UnsafeRawPointer = CFArrayGetValueAtIndex(interface, i)
let rec = unsafeBitCast(interfaceName, to: AnyObject.self)
if let unsafeInterfaceData = CNCopyCurrentNetworkInfo("\(rec)" as CFString), let interfaceData = unsafeInterfaceData as? [String : AnyObject] {
// connected wifi
print("BSSID: \(interfaceData["BSSID"]), SSID: \(interfaceData["SSID"]), SSIDDATA: \(interfaceData["SSIDDATA"])")
} else {
// not connected wifi
}
}
}
}