SystemConfiguration.CaptiveNetwork не работает на iOS 12
У меня есть функция, которая обнаруживает текущий SSID от пользователя. К сожалению, это не работает с iOS 12. Это означает, что он просто перескакивает через if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? {
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
}
Ответы
Ответ 1
Чтобы использовать эту функцию в iOS 12 и более поздних версиях, включите возможность доступа к информации о WiFi для вашего приложения в Xcode. Когда вы включаете эту возможность, Xcode автоматически добавляет право доступа к информации о WiFi для вашего файла прав и идентификатора приложения.
https://developer.apple.com/documentation/systemconfiguration/1614126-cncopycurrentnetworkinfo?language=objc