在OSX中使用NEVPNManager Swift 2.0创建VPN连接
我想在SWIFT 2.0(Xcode 7.1,OSX 10.10)中创建一个带IPSec的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
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。