网络扩展 - NE***Manager
Posted
技术标签:
【中文标题】网络扩展 - NE***Manager【英文标题】:NetworkExtension - NE***Manager 【发布时间】:2014-07-26 05:01:00 【问题描述】:Apple 在 ios 8 中发布了一个新的框架“NetworkExtension”。
我想使用 NE***Manager 从应用程序中启动 *** 连接,或者此框架有其他用途吗?
有关于此框架的信息或示例吗? 我在 developer.apple.com 网站上找不到有关它的信息,只能在头文件中找到。
谢谢
【问题讨论】:
这里还有一个关于这个明显新框架的问题:***.com/questions/24970280/… 也许我的回答可以帮到你***.com/questions/29018868/… 【参考方案1】:代码如下所示(具体实现取决于 *** 的类型):
NE***Manager *manager = [NE***Manager sharedManager];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(***ConnectionStatusChanged) name:NE***StatusDidChangeNotification object:nil];
NE***ProtocolIPSec *protocol = [[NE***ProtocolIPSec alloc] init];
protocol.username = @“[Your username]”;
protocol.passwordReference = [KeyChainAccess loadDataForServiceNamed:@“[Your Service Name]"];
protocol.serverAddress = @“[Your Server Address]“;
protocol.authenticationMethod = NE***IKEAuthenticationMethodCertificate;
protocol.localIdentifier = @“[Your Local identifier]”;
protocol.remoteIdentifier = @“[Your Remote identifier]”;
protocol.useExtendedAuthentication = NO;
protocol.identityData = [Your *** certification private key];
protocol.disconnectOnSleep = NO;
[manager setProtocol:protocol];
[manager setOnDemandEnabled:NO];
[manager setLocalizedDescription:@"***"];
NSArray *array = [NSArray new];
[manager setOnDemandRules: array];
NSLog(@"Connection desciption: %@", manager.localizedDescription);
NSLog(@"*** status: %i", manager.connection.status);
[manager loadFromPreferencesWithCompletionHandler:^(NSError *error)
// do config stuff
[manager saveToPreferencesWithCompletionHandler:^(NSError *error)
];
];
NSError *startError;
[[NE***Manager sharedManager].connection start***TunnelAndReturnError:&startError];
if(startError)
NSLog(@"Start error: %@", startError.localizedDescription);
【讨论】:
如果您不是 MDM 供应商,是否可以使用它? @Array 是的,您不需要 Apple 的任何初步批准,您只需像往常一样通过标准的应用程序批准流程。 如何通过认证私钥数据?证书是否像捆绑包中一样添加到应用程序中?如果我们不设置identityData,每次连接***时都会提示输入密码吗?以上是关于网络扩展 - NE***Manager的主要内容,如果未能解决你的问题,请参考以下文章
ACM-ICPC 2018 徐州赛区网络预赛 B. BE, GE or NE