Переход на новую систему macOS Catalina не для всех проходит гладко. У кого-то машина зависает еще на этапе обновления, где-то отваливаются старые приложения (в том числе критически важные клиенты для ЭЦП), у других перестают синхронизироваться фотографии с айфоном. Наконец, у отдельных счастливчиков перестает работать подключение к публичным сетям Wi-Fi. Про них и поговорим.

Как выглядит сегодня обычное подключение к публичной сети Wi-Fi будь то Starbucks, сеть аэропорта или отеля: вы выбираете нужную сетку, появляется выпадающее окно, где надо ввести логин/пароль, номер телефона или пройти иную верификацию, после чего вы можете выйти в Интернет. 

Если после перехода на macOS Catalina вы не можете подключиться к общественным сетям Wi-Fi

Так вот в macOS Catalina выпадающее окно верификации… не появляется. То есть вы можете подключиться к сети Wi-Fi, ваш компьютер получит IP-адрес и даже адреса DNS-серверов от роутера, но дальше ничего не произойдет. Что случилось и как быть?

Что случилось

Если после перехода на macOS Catalina вы не можете подключиться к общественным сетям Wi-Fi

В Apple кое-что упустили. Частью системы является микро-приложение Captive Network Assistant, расположенное в самых ее недрах по адресу…

/System/Library/CoreServices/

Так вот уже частью этого микро-приложения является компонент PlugIns, о котором разработчики в Купертино попросту забыли. Поэтому если после подключения к публичной сети Wi-Fi глянуть в логи, то можно увидеть прекрасное сообщение об ошибке…

Non-fatal error enumerating at <private>, continuing: Error Domain=NSCocoaErrorDomain Code=260 «The file “PlugIns” couldn’t be opened because there is no such file.» UserInfo={NSURL=PlugIns/ — file:///System/Library/CoreServices/Captive%20Network%20Assistant.app/Contents/, NSFilePath=/System/Library/CoreServices/Captive Network Assistant.app/Contents/PlugIns, NSUnderlyingError=0x7fbd655325e0 {Error Domain=NSPOSIXErrorDomain Code=2 «No such file or directory»}}

Была надежда на то, что ошибку поправят в обновлении 10.15.1, но таки нет. Поэтому пока выкручиваться придется вам самостоятельно.

Как быть

Есть вариант легкий, но чуть муторный. Заключается он в том, чтобы руками после подключения к Wi-Fi запускать Captive Network Assistant. Он будет дергать окно верификации и все будет работать.

Собственно, для этого переходите к папке /System/Library/CoreServices/ и дважды нажимайте на Captive Network Assistant. Результат увидите сразу же.

Если после перехода на macOS Catalina вы не можете подключиться к общественным сетям Wi-Fi

Есть вариант для гиков: создать «демона», который будет автоматически запускать Captive Network Assistant при смене сети Wi-Fi. Инструкцию можно прочитать здесь. Enjoy! И будьте бдительны!