我有一个功能可以检测用户当前的 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
}
最佳答案
要在 iOS 12 及更高版本中使用此功能,请在 Xcode 中为您的应用启用访问 WiFi 信息功能。当您启用此功能时,Xcode 会自动将访问 WiFi 信息授权添加到您的授权文件和 App ID 中。
关于ios - SystemConfiguration.CaptiveNetwork 在 iOS 12 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50767946/