我需要在OSX上获取当前连接的Wi-Fi SSID的名称。
我已经搞乱了SystemConfiguration框架,我觉得它就在那里(因为我能够获得网络位置的名称),但我并没有真正找到获取Wi-Fi SSID的方法。
非常感谢任何帮助。 :)
感谢。
答案 0 :(得分:11)
对于osX Yosemite 10.10使用
#import <CoreWLAN/CoreWLAN.h>
-(void)prettyFunctionName
{
CWInterface* wifi = [[CWWiFiClient sharedWiFiClient] interface];
NSLog(@"BSD if name: %@", wifi.interfaceName);
NSLog(@"SSID: %@", wifi.ssid);
NSLog(@"txRate: %f", wifi.transmitRate);
}
答案 1 :(得分:10)
您可以使用CoreWLAN框架:CWInterface
有一个名为ssid
的属性。下面的代码获取当前的无线接口并显示其BSD名称及其SSID。它适用于Mac OS 10.6 +。
#import <Foundation/Foundation.h>
#import <CoreWLAN/CoreWLAN.h>
int main() {
NSAutoreleasePool *pool = [NSAutoreleasePool new];
CWInterface *wif = [CWInterface interface];
NSLog(@"BSD if name: %@", wif.name);
NSLog(@"SSID: %@", wif.ssid);
[pool drain];
return 0;
}
输出:
$ ./wif
BSD if name: en1
SSID: Aetherius