Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Initialize Manager
- NETunnelProviderManager *manager = [[NETunnelProviderManager alloc] init];
- [manager loadFromPreferencesWithCompletionHandler:^(NSError *error) {
- if (error) {
- NSLog(@"Load Error: %@", error.description);
- } else {
- // Create the protocol object
- NETunnelProviderProtocol *protocol = [[NETunnelProviderProtocol alloc] init]; // Create the protocol object
- // Configure the protocol object
- protocol.providerBundleIdentifier = @"com.nfisc.testvpn.ptp"; // Bundle ID of tunnel provider
- protocol.providerConfiguration = @{}; // Currently blank, but will be used later
- protocol.serverAddress = @"0.0.0.0"; // Ommited for security reasons
- protocol.username = @"username"; // The username for the configuration
- protocol.identityDataPassword = @"password"; // The password for the configuration
- protocol.disconnectOnSleep = NO;
- // Configure the manager with the protocol
- manager.protocolConfiguration = protocol;
- manager.enabled = true;
- [manager saveToPreferencesWithCompletionHandler:^(NSError *error) {
- if (error) {
- NSLog(@"Save Error: %@", error.description);
- } else {
- if ([[manager connection] status] != NEVPNStatusConnected) {
- NSLog(@"Starting VPN");
- [self start:manager];
- } else {
- NSLog(@"VPN Already Connected");
- [_statusLabel setText:@"Connected"];
- [_statusLabel setTextColor:[UIColor greenColor]];
- }
- }
- }];
- }
- }];
- [NETunnelProviderManager loadAllFromPreferencesWithCompletionHandler:^(NSArray<NETunnelProviderManager *> * _Nullable managers, NSError * _Nullable error) {
- if (error) {
- NSLog(@"Load Error: %@", error.description);
- }
- NETunnelProviderManager *manager;
- if (managers.count > 0) {
- manager = managers[0];
- }else {
- manager = [[NETunnelProviderManager alloc] init];
- manager.protocolConfiguration = [[NETunnelProviderProtocol alloc] init];
- }
- //... your code here...
- }];
- __block NETunnelProviderManager *manager = [[NETunnelProviderManager alloc] init];
- NETunnelProviderProtocol *protocol = [[NETunnelProviderProtocol alloc] init];
- protocol.providerBundleIdentifier = @"com.nfisc.testvpn.ptp"; // bundle ID of tunnel provider
- protocol.providerConfiguration = @{@"key": @"value"};
- protocol.serverAddress = @"0.0.0.0"; // VPN server address
- protocol.username = @"username";
- protocol.identityDataPassword = @"password";
- manager.protocolConfiguration = protocol;
- manager.enabled = true;
- [NETunnelProviderManager loadAllFromPreferencesWithCompletionHandler:^(NSArray<NETunnelProviderManager *> * _Nullable managers, NSError * _Nullable error) {
- if ([managers count] > 0) {
- manager = [managers objectAtIndex:0];
- [self start:manager];
- } else {
- [manager saveToPreferencesWithCompletionHandler:^(NSError *error) {
- if (error) {
- NSLog(@"Error 1: %@", error.description);
- } else {
- [manager loadFromPreferencesWithCompletionHandler:^(NSError * _Nullable error) {
- if (error) {
- NSLog(@"Error 2: %@", error.description);
- } else {
- [self start:manager];
- }
- }];
- }
- }];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement