objective-c frameworks vpn ios8

objective c - NetworkExtension-NEVPNManager



objective-c frameworks (1)

El código se vería así (la implementación exacta depende del tipo de VPN):

NEVPNManager *manager = [NEVPNManager sharedManager]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(vpnConnectionStatusChanged) name:NEVPNStatusDidChangeNotification object:nil]; NEVPNProtocolIPSec *protocol = [[NEVPNProtocolIPSec alloc] init]; protocol.username = @“[Your username]”; protocol.passwordReference = [KeyChainAccess loadDataForServiceNamed:@“[Your Service Name]"]; protocol.serverAddress = @“[Your Server Address]“; protocol.authenticationMethod = NEVPNIKEAuthenticationMethodCertificate; protocol.localIdentifier = @“[Your Local identifier]”; protocol.remoteIdentifier = @“[Your Remote identifier]”; protocol.useExtendedAuthentication = NO; protocol.identityData = [Your VPN certification private key]; protocol.disconnectOnSleep = NO; [manager setProtocol:protocol]; [manager setOnDemandEnabled:NO]; [manager setLocalizedDescription:@"VPN"]; NSArray *array = [NSArray new]; [manager setOnDemandRules: array]; NSLog(@"Connection desciption: %@", manager.localizedDescription); NSLog(@"VPN status: %i", manager.connection.status); [manager loadFromPreferencesWithCompletionHandler:^(NSError *error) { // do config stuff [manager saveToPreferencesWithCompletionHandler:^(NSError *error) { }]; }]; NSError *startError; [[NEVPNManager sharedManager].connection startVPNTunnelAndReturnError:&startError]; if(startError) { NSLog(@"Start error: %@", startError.localizedDescription); }

Apple publicó con iOS 8 un nuevo Framework "NetworkExtension".

Quiero iniciar una conexión VPN desde una aplicación con NEVPNManager, o ¿tiene este Framework otro uso?

¿Tiene alguna información o un ejemplo sobre este Marco? No puedo encontrar información al respecto en el sitio web developer.apple.com, solo en los archivos de encabezado.

Gracias