在OSX中使用NEVPNManager Swift 2.0创建VPN连接

在OSX中使用NEVPNManager Swift 2.0创建VPN连接,swift,Swift,我想在SWIFT 2.0(Xcode 7.1,OSX 10.10)中创建一个带IPSec的VPN连接 let manager: NEVPNManager = NEVPNManager.sharedManager() let p = NEVPNProtocolIPSec() p.serverAddress = config["vpn_ap"].stringValue p.username = config["id"].stringValue p.passwordReference = conf

我想在SWIFT 2.0(Xcode 7.1,OSX 10.10)中创建一个带IPSec的VPN连接

let manager: NEVPNManager = NEVPNManager.sharedManager()

let p = NEVPNProtocolIPSec()

p.serverAddress = config["vpn_ap"].stringValue
p.username = config["id"].stringValue
p.passwordReference = config["secret"].stringValue.dataUsingEncoding(NSUTF8StringEncoding)

p.authenticationMethod = NEVPNIKEAuthenticationMethod.SharedSecret
p.sharedSecretReference = config["psk"].stringValue.dataUsingEncoding(NSUTF8StringEncoding)

p.useExtendedAuthentication = true
p.disconnectOnSleep = false

manager.`protocol` = p
manager.enabled = true

manager.saveToPreferencesWithCompletionHandler { error in
    if let e = error{
        print("error: " + e.description)
    }
    return
}

do{
 try manager.connection.startVPNTunnel()
}
catch let error as NSError {
    print(error.localizedDescription)
}
但是NEVPNManager始终包含默认值。连接状态无效。 例如:

print("enabled: " + manager.enabled.description ) // is false!

这个物体有什么问题?这些字段是公共字段,没有编译器警告。谁能帮忙?

经理。`protocol`=p
这是问题中的打字错误吗?这些记号是什么?协议是一个关键字,因此必须用反记号引用。此变量名已弃用,在10.11中称为protcolConfiguration。