NEVPNStatusDidChange Observer не обновляет правильное время, когда приложение находится в фоновом режиме - PullRequest
0 голосов
/ 05 февраля 2020

Я использую 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...