16

我有一个功能可以检测用户的当前 SSID。不幸的是,这不再适用于 iOS 12。这意味着它只是跳过了if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? {部分。也许这只是一个错误,或者它已被弃用。我在 Apple Docs 上一无所获。在较旧的 iOS 11、10 和 9 设备上,它运行良好。

这是我的代码:

func getWiFiSsid() -> String? {
    if let interfaces = CNCopySupportedInterfaces() as NSArray? {
        for interface in interfaces {
            if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? {

                ssid = interfaceInfo[kCNNetworkInfoKeySSID as String] as? String


            }
        }
    }
    return ssid
}
4

1 回答 1

37

要在 iOS 12 及更高版本中使用此功能,请在 Xcode 中为您的应用启用访问 WiFi 信息功能。当您启用此功能时,Xcode 会自动将 Access WiFi Information 权利添加到您的权利文件和 App ID 中。

https://developer.apple.com/documentation/systemconfiguration/1614126-cncopycurrentnetworkinfo?language=objc

在此处输入图像描述

于 2018-09-18T13:46:48.677 回答