OSXで現在接続されているWi-FiSSIDの名前を取得する必要があります。
SystemConfigurationフレームワークをいじってしまいましたが、(ネットワークロケーションの名前を取得できるので)そこにあるように感じますが、Wi-FiSSIDを取得する方法を実際には見つけていません。
助けていただければ幸いです。:)
ありがとう。
OSXで現在接続されているWi-FiSSIDの名前を取得する必要があります。
SystemConfigurationフレームワークをいじってしまいましたが、(ネットワークロケーションの名前を取得できるので)そこにあるように感じますが、Wi-FiSSIDを取得する方法を実際には見つけていません。
助けていただければ幸いです。:)
ありがとう。
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);
}
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