小编Moh*_*our的帖子

在iOS 8中以编程方式连接到VPN

自从iOS 8 beta发布以来,我在其捆绑包中找到了一个N​​etwork Extension框架,该框架将允许开发人员以编程方式配置和连接到VPN服务器,而无需安装任何配置文件.

该框架包含一个名为NEVPNManager的主要类.这个类还有3个主要方法,可以让我保存,加载或删除VPN首选项.我在viewDidLoad方法中编写了一段代码,如下所示:

NEVPNManager *manager = [NEVPNManager sharedManager];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(vpnConnectionStatusChanged) name:NEVPNStatusDidChangeNotification object:nil];
[manager loadFromPreferencesWithCompletionHandler:^(NSError *error) {
    if(error) {
        NSLog(@"Load error: %@", error);
    }}];
NEVPNProtocolIPSec *p = [[NEVPNProtocolIPSec alloc] init];
p.username = @“[My username]”;
p.passwordReference = [KeyChainAccess loadDataForServiceNamed:@"VIT"];
p.serverAddress = @“[My Server Address]“;
p.authenticationMethod = NEVPNIKEAuthenticationMethodCertificate;
p.localIdentifier = @“[My Local identifier]”;
p.remoteIdentifier = @“[My Remote identifier]”;
p.useExtendedAuthentication = NO;
p.identityData = [My VPN certification private key];
p.disconnectOnSleep = NO;
[manager setProtocol:p];
[manager setOnDemandEnabled:NO];
[manager setLocalizedDescription:@"VIT VPN"];
NSArray …
Run Code Online (Sandbox Code Playgroud)

vpn objective-c ios ios8

24
推荐指数
2
解决办法
2万
查看次数

标签 统计

ios ×1

ios8 ×1

objective-c ×1

vpn ×1