1 Reply
      Latest reply: Feb 8, 2017 12:47 AM by eskimo RSS
      fisc510 Level 1 Level 1 (0 points)

        I'm trying to save my VPN configuration to the preferences, which already works (I'm able to connect to my VPN). But for some reason each time i run the code again instead of using the last configuration it creates a new one. So, i end up with a bunch of configurations.

         

        Here is my current code, if anyone could let me know what's going wrong with it that would be awesome. Thanks!

         

        // 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 {
                        [self start:manager];
                    }
                }];
            }
        }];
        
        • Re: NETunnelProviderManager saving multiple configurations
          eskimo Apple Staff Apple Staff (6,675 points)

          You should start with a call to +[NETunnelProviderManager +loadAllFromPreferencesWithCompletionHandler:].  That will give you the list of currently existing configurations, at which point you can choose to modify an existing one or add a new one.

          Share and Enjoy

          Quinn “The Eskimo!”
          Apple Developer Relations, Developer Technical Support, Core OS/Hardware
          let myEmail = "eskimo" + "1" + "@apple.com"