As regras do NetworkExtension connectOnDemand não funcionam

Eu tenho um aplicativo com configuração de VPN criado pela nova estrutura NetworkExtension. Funciona muito bem, mas agora preciso adicionar algumas regras para ativar esta VPN apenas quando estou tentando conectar-me a um URL específico. Planejei usar o recurso connectOnDemand do NEVPNManager, mas ele não parece estar funcionando para mim. Quando eu estou abrindohttp://some-site.com no safari, minha conexão VPN deve ser estabelecida, mas por algum motivo isso não acontece. Tentei um tipo diferente de configurações, além de usar os arquivos .mobileconfig gerados para fazer o connectOnDemand funcionar, mas sem sorte. O que há de errado com isso? Estou testando em código como este:

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)")
                })
            }
        }

questionAnswers(2)

yourAnswerToTheQuestion