我正在为 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";
}
任何人都可以请指导我。