我使用下面的代码创建了网络管理器。但是,一旦运行第一行调用,管理器就会变为空,因此任何其他方法都不会生效。谁能让我知道我做错了什么?
NEVPNManager *manager = [NEVPNManager sharedManager];
NEVPNProtocolIPSec *p = [[NEVPNProtocolIPSec alloc] init];
p.username = @"MYUSERNAME";
p.passwordReference = [@"MYPW" dataUsingEncoding:NSUTF8StringEncoding];
p.serverAddress = @"[NetworkIP]";
p.authenticationMethod = NEVPNIKEAuthenticationMethodSharedSecret;
p.sharedSecretReference = [@"SharedSecretHashCode" dataUsingEncoding:NSUTF8StringEncoding];
[manager setProtocol:p];
[manager setOnDemandEnabled:NO];
[manager setLocalizedDescription:@"VIT VPN"];
NSArray *array = [NSArray new];
[manager setOnDemandRules: array];
NSLog(@"Connection desciption: %@", manager.localizedDescription);
NSLog(@"VPN status: %li", (long)manager.connection.status);
[manager saveToPreferencesWithCompletionHandler:^(NSError *error) {
if(error) {
NSLog(@"Save error: %@", error);
}
}];"manager“为空。请帮帮忙。提前谢谢。
发布于 2015-06-26 19:42:58
我为我的问题找到了NEVPNManager实例的解决方案。
在应用程序开发人员使用它时,必须需要其相关证书,其中APPID已经启用了VPN Configuration & controls。这个应用程序必须在设备上运行。

因此NEVPNManager不会为空,并且它可以从设备共享实例中适配。(这也来自可用于iOS8及更高版本设备的NetworkExtension.framework )
也许这可以帮助任何有同样问题的人。
https://stackoverflow.com/questions/31043178
复制相似问题