1 Reply
      Latest reply on Feb 8, 2017 12:47 AM by eskimo
      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 = @"";                                          // 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 (13,325 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"