ios - 如何在 info.plist 中开启隐私 VPN 配置
问题描述
我正在创建一个应用程序,它将过滤来自 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)");
}
}
}
}
}
有什么帮助吗?
解决方案
我想我找到了答案。像这样的东西,但我没有开发帐户,所以我现在无法确认。
转到Xcode -> 项目 -> 目标 -> 功能并启用 VPN 并启用网络
推荐阅读
- javascript - Element resizing issue after hover in jQuery
- c# - 已部署程序的“保存”管理员权限
- makefile - 过滤 Makefile 列表中的相邻单词
- mysql - 使用查询在mysql中加密密码
- visualization - 按月显示总值和点差
- apache-spark - 如何将 hadoop conf 目录指定为 conf 属性以触发应用程序
- ruby-on-rails - Rails + Postgres:如何使用多个可能为 Nil 的列来“排序”?
- javascript - 使用 Visual Studio 代码扩展创建一个新文件
- javascript - 如何使用 ReactJS 和 Typescript 定义组件实例属性?`App'类型上不存在属性'var'`
- javascript - 如何动态创建 funkyradio 复选框?