9

我需要在 OSX 上获取当前连接的 Wi-Fi SSID 的名称。

我弄乱了 SystemConfiguration 框架,我觉得它就在那里(因为我能够获得网络位置的名称),但我并没有真正找到获取 Wi-Fi SSID 的方法。

将不胜感激任何帮助。:)

谢谢。

4

2 回答 2

12

对于 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);
}
于 2015-01-15T17:08:35.773 回答
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
于 2011-01-19T21:58:30.247 回答