我正在创建一个应用程序,该应用程序将过滤来自Iphone或Ipad的所有网络流量。
我调查了info.plist
,但不知道该选择什么设置。
我期望这样的事情。
这是我的代码:
import Foundation
import NetworkExtension
@objc(TestingProxy)
class TestingProxy: NSObject {
let vpnManager = NEVPNManager.shared();
private var vpnLoadHandler: (Error?) -> Void {
return { (error:Error?) in
if ((error) != nil) {
print("Could not load VPN Configurations")
return;
}
let p = NEVPNProtocolIPSec()
p.username = "SOME_USERNAME"
p.serverAddress = "example.com"
p.authenticationMethod = NEVPNIKEAuthenticationMethod.sharedSecret
let kcs = KeychainService();
kcs.save(key: "SHARED", value: "MY_SHARED_KEY")
kcs.save(key: "VPN_PASSWORD", value: "MY_PASSWORD")
p.sharedSecretReference = kcs.load(key: "SHARED")
p.passwordReference = kcs.load(key: "VPN_PASSWORD")
p.useExtendedAuthentication = true
p.disconnectOnSleep = false
self.vpnManager.protocolConfiguration = p
self.vpnManager.localizedDescription = "Contensi"
self.vpnManager.isEnabled = true
self.vpnManager.saveToPreferences(completionHandler: self.vpnSaveHandler)
}
}
private var vpnSaveHandler: (Error?) -> Void {
return { (error:Error?) in
if (error != nil) {
print("Could not save VPN Configurations")
return
} else {
do {
try self.vpnManager.connection.startVPNTunnel()
} catch let error {
print("Error starting VPN Connection \(error.localizedDescription)");
}
}
}
}
}
有帮助吗?
答案 0 :(得分:0)
我想我找到了答案。像这样,但是我没有开发帐户,所以暂时无法确认。
转到 Xcode->项目->目标->功能,然后启用VPN和启用网络