2011-01-19 20 views
7

我需要獲取OSX上當前連接的Wi-Fi SSID的名稱。獲取OSX連接Wi-Fi網絡名稱

我搞砸了SystemConfiguration框架,我覺得它在那裏(因爲我能夠得到網絡位置名稱),但我真的找不到獲取Wi-Fi SSID的方法。

希望有任何幫助。 :)

謝謝。

回答

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 
+0

似乎很大。我一回家就會測試。 – MegaEduX 2011-01-20 13:42:07

8

的OSX約塞米蒂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); 
}