Я поддерживаю несколько приложений C++/Qt, целью которых является взаимодействие с устройствами в локальной сети (через функции TCP и UDP API сокетов BSD).
Они обычно работают нормально под MacOS, но Apple по своей мудрости добавила разрешение «Локальная сеть» на панель настроек «Безопасность и конфиденциальность», и если приложения там не указаны и не включены, то пользователю кажется, что они сломаны, и я получаю сообщение отчет об ошибке от раздраженного user.
Поэтому я хотел бы, чтобы мои приложения явно проверяли состояние этого разрешения при запуске, чтобы, если у них не включено это разрешение, я мог показать диалог с явными инструкциями пользователю о том, в чем проблема и как включить разрешение локальной сети.
Мой вопрос: как я могу явно проверить наличие/отсутствие этого разрешения от в моем приложении? (Конечно, я могу провести своего рода тест, попытавшись отправить/получить данные по локальной сети и посмотреть, работает ли это, но я бы предпочел проверить настройку разрешения напрямую, поскольку угадывание его состояния по соответствующему поведению сети в некоторых случаях может привести к ошибочному диагнозу).
Подробнее здесь: https://stackoverflow.com/questions/791 ... s-local-ne
MacOS Sequoia: как программно проверить, имеет ли вызывающее приложение разрешение «Локальная сеть»? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение