NetworkExtension connectOnDemand-Regeln funktionieren nicht

Ich habe eine App mit VPN-Konfiguration, die vom neuen NetworkExtension-Framework erstellt wurde. Es funktioniert einwandfrei, aber jetzt muss ich einige Regeln hinzufügen, um dieses VPN nur zu aktivieren, wenn ich versuche, eine Verbindung zu einer bestimmten URL herzustellen. Ich hatte vor, die ConnectOnDemand-Funktion von NEVPNManager zu verwenden, aber sie scheint bei mir nicht zu funktionieren. Wenn ich öffnehttp: //some-site.co Auf Safari sollte meine VPN-Verbindung hergestellt werden, aber aus irgendeinem Grund ist dies nicht der Fall. Ich habe eine andere Art von Konfigurationen ausprobiert und generierte .mobileconfig-Dateien verwendet, damit connectOnDemand funktioniert, aber ohne Erfolg. Was stimmt damit nicht? Ich teste mit folgendem Code:

let manager = NEVPNManager.sharedManager()

manager.enabled = true

manager.loadFromPreferencesWithCompletionHandler { (err) -> Void in
    manager.removeFromPreferencesWithCompletionHandler { (err0) -> Void in
                print("err0 \(err0)")
                print("err \(err)")
                let config = NEVPNProtocolIPSec()
                config.localIdentifier = "NEVPNProtocolIPSec"
                config.remoteIdentifier = "NEVPNProtocolIPSecRemote"
                config.disconnectOnSleep = true
                config.serverAddress = server
                config.authenticationMethod = .Certificate
                //configurating here
                manager.protocolConfiguration = config
                let onDemandRule1 = NEOnDemandRuleConnect()
                onDemandRule1.DNSSearchDomainMatch = ["some-site.com", "*.some-site.com"]

                manager.onDemandRules = [onDemandRule1]
                manager.onDemandEnabled = true
                manager.saveToPreferencesWithCompletionHandler({ (err2) -> Void in
                    print("err2 \(err2)")
                })
            }
        }

Antworten auf die Frage(4)

Ihre Antwort auf die Frage