Я работаю над решением IPSec VPN для macOS. Мне удалось установить конфигурацию VPN через NEVPNManager, и все работает. Кроме того, мое требование - отключить VPN, когда Mac переходит в режим сна. Ниже приведен профиль 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";
}
Может кто-нибудь, пожалуйста, направьте меня.