我已经使用 NEVPNManager 在我的应用程序中设置了 IKEv2 VPN 配置。目的是让连接保持活动状态,直到用户将其关闭或被 VPN 服务器终止。为此,我设置了以下配置:
let protocol = NEVPNProtocolIKEv2()
...
protocol.disconnectOnSleep = false
但是,如果 iPhone 使用电池运行,则在设备闲置一段时间后,VPN 仍会断开连接。如果我把它插在充电器上,这似乎不会发生。
我已经研究过设置 OnDemandRules,它会在设备唤醒时重新建立连接,但这会导致另一个问题,即即使 VPN 服务器将其关闭,设备也会继续尝试重新连接。有没有更好的方法来实现我正在寻找的规则(保持连接直到用户或服务器关闭它)?