首页 > 解决方案 > 使用 NEVPNManager 的 IPSec VPN 在睡眠时不会断开连接

问题描述

我正在为 macOS 开发 IPSec VPN 解决方案。我设法通过 NEVPNManager 安装了 VPN 配置,一切正常。除了,我的要求是在 mac 进入睡眠状态时断开 VPN。下面是我正在使用的 IPSec 配置文件。

- (void)setupIPSec

{

    [self configVPNKeychain];

    NSData *passwordData = [self persistentReferenceForSavedPassword:@"username" service:kPasswordReference account:@"account" description:@"login"];

    NSData *sharedSecretData = [self persistentReferenceForSavedPassword:@"54343333" service:kSharedSecretReference account:@"account" description:@"IPSec Shared Secret"];



    // config IPSec protocol

    NEVPNProtocolIPSec *p = [[NEVPNProtocolIPSec alloc] init];
    p.username = @"username012134";
    p.serverAddress = @"ipsec.route.com";

    // get password persistent reference from keychain
    p.passwordReference = passwordData;
    p.authenticationMethod = NEVPNIKEAuthenticationMethodSharedSecret;
    p.sharedSecretReference = sharedSecretData;
    p.useExtendedAuthentication = YES;
    p.disconnectOnSleep = YES;   // This is were I am setting YES to disconnect the VPN connection when on Sleep.

    [NEVPNManager sharedManager].enabled = YES;
    [NEVPNManager sharedManager].protocolConfiguration = p;
    [NEVPNManager sharedManager].localizedDescription = @"VPN";

}

任何人都可以请指导我。

标签: iosvpnnetworkextensionnevpnmanager

解决方案


推荐阅读