Как мне узнать текущее сетевое имя? - PullRequest
2 голосов
/ 03 апреля 2010

В настройках сети системы есть несколько названий местоположений. Как получить имя текущего или активного местоположения в сети и список всех расположений в сети?
Я думаю, SystemConfiguration.framework поддерживает это, но я не знаю, какой именно API использовать.

Заранее спасибо за ответ

С уважением
Девара Гудда

1 Ответ

6 голосов
/ 03 апреля 2010

Вы можете использовать SCPreferencesCreate для получения настроек, затем SCNetworkSetCopyAll для получения только сетевых расположений. SCNetworkSetGetName получит название местоположения.

SCPreferencesRef prefs = SCPreferencesCreate(NULL, @"SystemConfiguration", NULL);
NSArray *locations = (NSArray *)SCNetworkSetCopyAll(prefs);
for (id item in locations) {
    NSString *name = (NSString *)SCNetworkSetGetName((SCNetworkSetRef)item);
    ...
}
CFRelease(locations);
CFRelease(prefs);

Подробнее см. " Руководство по программированию конфигурации системы ".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...