SystemConfiguration.CaptiveNetwork не работает на iOS 12

У меня есть функция, которая определяет текущий 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
}

1 ответ

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

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

Другие вопросы по тегам