1

I am working on MAC Application in which i have to create VPN Connection through my application.

I am able to create VPN connection successfully but now I want to delete the interface which was created by my application in network of System Preference.

I tried below code it run successfully but it does not delete that from network list

service = SCNetworkServiceCopy(prefs, (__bridge CFStringRef)(config.serviceID));
Boolean isDeleted = SCNetworkServiceRemove(service);

Is there any other methods to delete the network interface?

Malav Soni
  • 2,739
  • 1
  • 23
  • 52

2 Answers2

0

Below method delete the interface but we need to save changes what ever we made.

SCNetworkServiceCopy(prefs, (__bridge CFStringRef)(config.serviceID));

To save setting we need to call the below method to Save changes we made in network.

SCPreferencesApplyChanges(prefs);
Malav Soni
  • 2,739
  • 1
  • 23
  • 52
0
NSString* serviceIDa = @"FB6AD34D-DF8B-4FEC-B715-6F76EA5E5D83";
SCNetworkServiceRef serviceDelete = SCNetworkServiceCopy(prefs, (__bridge CFStringRef)(serviceIDa));

BOOL commit = 0;
SCPreferencesLock(prefs, TRUE);
SCNetworkServiceCopy(prefs, (__bridge CFStringRef) (serviceIDa));
SCNetworkSetRef networkSetAll = SCNetworkSetCopyCurrent(prefs);
if(SCNetworkSetRemoveService(networkSetAll,serviceDelete)){
    NSLog(@"Remove services ");
    commit = 1;
}

//Now for Commit changes

 SCPreferencesUnlock(prefs);
if (commit) {
    SCPreferencesCommitChanges(prefs);
    SCPreferencesApplyChanges(prefs);
}
CFRelease(networkSetAll);
Sawan Cool
  • 158
  • 3
  • 13