startVPNTunnel() не работает на iOS 14 Swift

#ios #swift #vpn

#iOS #swift #vpn

Вопрос:

С момента выхода iOS 14 startVPNTunnel() перестал работать, и приложение не создает VPN-соединение.

Моя конфигурация следующая:

  private func _save(_ account: VPNServer, completion: VPNConfigureCompletion?) {
        let keychain = Keychain(service: Bundle.main.bundleIdentifier!)
        keychain["sharedSecret"] = account.key
        let ikev2Protocol = NEVPNProtocolIKEv2()
        ikev2Protocol.useExtendedAuthentication = false
        ikev2Protocol.authenticationMethod = .sharedSecret
        ikev2Protocol.disconnectOnSleep = false
        ikev2Protocol.serverAddress = account.ip
        ikev2Protocol.sharedSecretReference = keychain[attributes: "sharedSecret"]?.persistentRef
        ikev2Protocol.remoteIdentifier = account.ip

        if #available(iOS 13.0, *) {
            ikev2Protocol.enableFallback = true
        }

        vpnManager.protocolConfiguration = ikev2Protocol
        vpnManager.isEnabled = true
        vpnManager.saveToPreferences { error in
            if let err = error {
                print("Failed to save profile: (err.localizedDescription)")
                self.delegate?.setConnectionStatus(status: .disconnected)
                NotificationCenter.default.post(name: NSNotification.Name.NEVPNStatusDidChange, object: "Failed to save profile")
            } else {
                completion?()
            }
        }
    }
  

Этот код сохраняет конфигурацию, но при попытке подключения он выдает ошибку (даже вручную в настройках iPhone). Он корректно работал на iOS 13. Мы пытались сделать сервер совместимым с IPv6, но безуспешно. Я также безуспешно пытался добавить параметры VPN.IKEv2.childsecurityassocationparameters.
У кого-нибудь есть решение?