OStack程序员社区-中国程序员成长平台

标题: ios - NEVPNManager 实例显示为零 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:25
标题: ios - NEVPNManager 实例显示为零

我使用以下代码创建了网络管理器。但是一旦第一行调用运行,经理就为零,因此任何其他方法都不会受到影响。谁能告诉我我做错了什么?

        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"为 nil 。请帮忙。提前致谢。



Best Answer-推荐答案


我为 NEVPNManager 实例找到了我的问题的解决方案。

当应用开发者使用它时,必须需要其相关证书,其中 APPID 已启用 VPN Configuration & controls。并且这个应用程序必须需要在设备中运行。

enter image description here

所以 NEVPNManager 不会是 nil 并且它可以从设备的共享实例中适应。 (这也来自 NetworkExtension.framework,适用于 iOS8 及更高版本的设备)

也许这可以帮助遇到同样问题的任何人。

关于ios - NEVPNManager 实例显示为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31043178/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4