Я использую NetworkExtension
и создаю / управляю Personal VPN
конфигурацией, которая использует IKEv2
встроенный протокол VPN.
Когда я подключаю VPN из моего приложения, это дает мне connectedDate
из что я получаю метку времени, чтобы показать таймер, например 00:00:00, который запускается при подключении VPN
После подключения VPN я кладу приложение в фоновый режим, затем открываю приложение настроек и отключаюсь и снова подключите VPN из General-> VPN. После этого, когда я снова открываю приложение, connectedDate
, которое я получаю, остается прежним (при первом подключении VPN).
Мой профиль VPN настроен успешно, и я звоню loadTheVPNPreferencesOnly()
в applicationDidBecomeActive
func loadTheVPNPreferencesOnly() {
NEVPNManager.shared().loadFromPreferences { (error) in
if error != nil {
print(error.debugDescription)
}
else {
print("No error from loading VPN viewDidLoad")
}
}
print("adding NEVPNStatusDidChange Observer.... ")
//OBSERVER TO CHECK THE VPN CONNECTION STATUS....
self.addConnectionObserver()
}
Я тоже так пытался, но connectedDate
все еще предыдущий:
let VPNConnecteddate = NEVPNManager.shared().connection.connectedDate
//print(VPNConnecteddate as? Date) // 2020-01-30 14:46:56 +0000
let VPNTimeStamp = VPNConnecteddate?.timeIntervalSince1970
if VPNTimeStamp != nil {
CommonMethod.saveUserDefault(key: "vpnTimeStamp", value: VPNTimeStamp)
print("VPNTimeStamp===> \(VPNTimeStamp)")
}
Я буду очень признателен, если кто-нибудь поможет мне в этом вопросе. Я много искал для проверки этого онлайн.
Ссылки, которые вы можете использовать в качестве ссылки: link1 , link2