1

我正在研究 MAC 应用程序,我必须通过我的应用程序创建 VPN 连接。

我能够成功创建 VPN 连接,但现在我想删除由我的应用程序在系统偏好网络中创建的接口。

我尝试了下面的代码它成功运行但它没有从网络列表中删除它

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

有没有其他方法可以删除网络接口?

4

2 回答 2

0

下面的方法删除界面,但我们需要保存所做的更改。

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

要保存设置,我们需要调用以下方法来保存我们在网络中所做的更改。

SCPreferencesApplyChanges(prefs);
于 2015-04-20T05:48:36.457 回答
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;
}

//现在提交更改

 SCPreferencesUnlock(prefs);
if (commit) {
    SCPreferencesCommitChanges(prefs);
    SCPreferencesApplyChanges(prefs);
}
CFRelease(networkSetAll);
于 2015-08-20T12:58:59.517 回答