SystemConfiguration.CaptiveNetwork не работает на iOS 12 - программирование
Подтвердить что ты не робот

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
}
4b9b3361

Ответ 1

Чтобы использовать эту функцию в iOS 12 и более поздних версиях, включите возможность доступа к информации о WiFi для вашего приложения в Xcode. Когда вы включаете эту возможность, Xcode автоматически добавляет право доступа к информации о WiFi для вашего файла прав и идентификатора приложения.

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

enter image description here