9

OSXで現在接続されているWi-FiSSIDの名前を取得する必要があります。

SystemConfigurationフレームワークをいじってしまいましたが、(ネットワークロケーションの名前を取得できるので)そこにあるように感じますが、Wi-FiSSIDを取得する方法を実際には見つけていません。

助けていただければ幸いです。:)

ありがとう。

4

2 に答える 2

12

osXYosemite10.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を示しています。MacOS10.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 に答える