Растущая поддержка Apple конфиденциальности пользователей могла нарушить некоторые функции вашего приложения.
С выпуском iOS 13 Apple внесла множество изменений, чтобы обеспечить лучшую конфиденциальность для пользователей iOS. Поскольку сейчас это очень горячая тема, этого следовало ожидать.
Замечательно, что Apple заботится о конфиденциальности и не позволяет разработчикам получать доступ ко всему, что они хотят. Однако, если вы разработчик, это приведет к тому, что некоторые функции в вашем приложении внезапно перестанут работать.
Изменения в сети были объяснены в WWDC 19, сессия 713, Достижения в сетевых технологиях, часть 2. Однако это часовой сеанс. Я покажу вам то, что вам нужно знать, за три минуты.
CNCopyCurrentNetworkInfo
используется для доступа к информации Wi-Fi. Вот как вы можете подключиться к SSID Wi-Fi.
До этого изменения в iOS 13 Apple просто позволяла любому доступ к подключенным SSID Wi-Fi, если у них была возможность доступа к информации Wi-Fi.
К сожалению, сейчас вам нужно гораздо больше.
Вы можете получить доступ к Wi-Fi SSID только в следующих трех случаях:
- Если у вашего приложения есть разрешение на доступ к местоположению.
- Если в вашем приложении включен профиль VPN.
- Если ваше приложение является сетевым приложением, использующим
NEHotspotConfiguration
. В этом случае вам потребуется дополнительное одобрение Apple.
Если ваше приложение не выполняет ничего из этого, к сожалению, CNCopyCurrentNetworkInfo
вернет ноль в iOS 13 и более поздних версиях. Это означает, что любые функции, которые у вас есть, которые используют Wi-Fi SSID, перестанут работать, если пользователи обновятся до iOS 13.
Это хорошо для целей конфиденциальности, но я думаю, что это очень ограниченно. Лучшим решением было бы спросить у пользователя разрешения, хотят ли они поделиться своей сетевой информацией или нет. Пусть решают люди, Apple!