Я установил конфигурацию IKEv2 VPN в своем приложении, используя NEVPNManager. Предполагается, что соединение будет оставаться активным до тех пор, пока пользователь не отключит его или не прервет VPN-сервер. Для этой цели я установил следующую конфигурацию:
let protocol = NEVPNProtocolIKEv2()
...
protocol.disconnectOnSleep = false
Однако, если iPhone работает от батареи, VPN все еще отключается через некоторое время, когда устройство остается бездействующим. Похоже, этого не происходит, если я оставляю его подключенным к зарядному устройству.
Я уже изучал настройку OnDemandRules, которая восстанавливает соединение при пробуждении устройства, но вызывает другое проблема в том, что устройство продолжает пытаться переподключиться, даже если VPN-сервер его закрыл. Есть ли лучший способ реализовать искомое правило (оставайтесь на связи, пока пользователь или сервер не закроет его)?