【问题标题】:NEVPNManager instance is showing nilNEVPNManager 实例显示为零
【发布时间】:2015-09-11 15:16:56
【问题描述】:

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

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

【问题讨论】:

    标签: ios objective-c iphone frameworks nevpnmanager


    【解决方案1】:

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

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

    所以NEVPNManager 不会为零,它可以从设备的共享实例中进行调整。 (这也来自NetworkExtension.framework,适用于iOS8 及更高版本的设备)

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

    【讨论】:

    猜你喜欢
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 2011-02-17
    相关资源
    最近更新 更多