Да, сворачивание приложения в iOS достаточно надежно замораживает его. Сначала в т. н.
grace period (~5 сек) — приложение ещё работает, завершает текущие операции, а потом оно переходит в статус Suspended (аналог заморозки в Android) и вроде бы всё отлично. Можно запускать VPN? Можно, куда же деваться, но есть нюанс:Находящиеся в состоянии suspended приложение может невидимо для пользователя просыпаться. Наиболее неприятным и непредсказуемым пробуждением является поступающее push-уведомление (событие
remote-notification), приложение получает примерно 30 секунд на обработку, за которые можно полностью проверить ваши VPN. Да, с одной стороны, при публикации приложения в Apple Store все события, по которым приложение должно быть активировано явным образом прописывается и лишние запросить не получится, но с другой-то стороны: куда вы денетесь от пробуждения на пуши и звонки (событие
voip) у мессенджера или на те же пуши у банковских приложений? Куда денетесь от необходимости пробуждения тех же Яндекс-карт при изменении данных позиционирования (событие location)?🤷🏻 Никуда. Приложения при публикации декларируют эти требования, и Apple их принимает и прописывает в систему при установке.Это легитимные вещи, отключить их нельзя, не ухудшив работу приложений. Apple не имеет оснований их запретить программам — но ниоткуда не следует, что приложения не сделают в эти моменты ничего опасного для вас, того же активного зондирования (соединение с facebook или телеграм) на предмет выявления использования VPN. А они сделают, к гадалке не ходи.
Мой вердикт: несмотря на некоторые архитектурные преимущества, устройства с iOS тоже уязвимы для активной проверки на VPN со стороны невидимых (свернутых в фон) приложений. Но в отличие от систем с Android, в iOS нет — и их невозможно сделать — дополнительных заплаток для гарантированного непробуждения свернутых программ.☹️
#теория
P.S. Так что кроме второго телефона для iOS абсолютно надежного решения нет, по чисто техническим причинам.🫤