iOS 13 NEHotspotConfigurationManager Auto-Join Wifi выдает SSID ноль - PullRequest
1 голос
/ 03 октября 2019

Начиная с iOS 13, когда мы запрашиваем подключение к сети Wi-Fi с помощью NEHotspotConfigurationManager, после успешного подключения мы можем или не можем видеть SSID с помощью ключа kCNNetworkInfoKeySSID.

Наше приложение полагается на просмотрSSID для установки своего состояния (если они подключены к нашей сети WiFi, показывают одну версию, а другую показывают другую).

До сих пор мы видели проблему на различных устройствах (iPhone 8 Plus, iPhone 11) с использованием iOS 13.1. .

Перезагрузка устройства устраняет проблему. Кто-нибудь еще видел такое поведение?

1 Ответ

0 голосов
/ 14 октября 2019

В iOS13 или более поздней версии доступ к сетевой информации о системной политике был изменен.

Вот что я получил по электронной почте.

Уважаемый $ firstName,

Как мы объявили на WWDC19, мы вносим изменения, чтобы дополнительно защитить конфиденциальность пользователей и предотвратить несанкционированное отслеживание местоположения. Начиная с iOS 13, API-интерфейс CNCopyCurrentNetworkInfo больше не будет возвращать действительные данные SSID и BSSID Wi-Fi. Вместо этого информация, возвращаемая по умолчанию, будет:

SSID: «Wi-Fi» или «WLAN» («WLAN» будет возвращено для SKU Китая) BSSID: «00: 00: 00: 00:00:00 "

Если ваше приложение использует этот API, мы рекомендуем вам использовать альтернативные подходы, которые не требуют информации Wi-Fi или сети. Действительные данные SSID и BSSID из CNCopyCurrentNetworkInfo по-прежнему будут предоставляться VPNприложения, приложения, которые использовали NEHotspotConfiguration для настройки текущей сети Wi-Fi, и приложения, которые получили разрешение на доступ к местоположению пользователя через Location Services.

Протестируйте свое приложение на последней бета-версии iOS 13, чтобы убедиться, что оно работаетЕсли для работы вашего приложения требуются действительные данные SSID и BSSID Wi-Fi, вы можете сделать следующее: Для приложений настройки аксессуаров используйте API-интерфейс NEHotSpotConfiguration, который теперь имеет возможность передавать префикс точки доступа SSID, которую ваше приложение ожидает вподключиться к. Для других типов приложений используйте CoreLocation API, чтобы запроситьотсутствует для доступа к информации о местоположении.

Подробнее читайте в обновленной документации или просмотре видео сеанса Advance in Networking из WWDC19. Вы также можете отправить TSI для поддержки на уровне кода.

С уважением, Отношения разработчиков Apple

...