2011-01-19 20 views
7

OSX'te şu anda bağlı olan Wi-Fi SSID'nin adını almam gerekiyor.OSX'e Bağlı Wi-Fi Ağ Adı Alma

SystemConfiguration framework'üyle uğraştım, orada olduğunu hissediyorum (ağ konumunun adını alabildiğim gibi), ancak gerçekten Wi-Fi SSID'yi almanın bir yolunu bulamıyorum.

Herhangi bir yardım için teşekkür ederiz. :)

Teşekkürler.

cevap

10

CoreWLAN çerçevesini kullanabilirsiniz: CWInterface, ssid adlı bir özelliğe sahiptir. Aşağıdaki kod mevcut kablosuz arabirimi alır ve BSD adını ve SSID'sini gösterir. Mac OS 10.6+ üzerinde çalışır.

#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; 
} 

Çıktı: OSX Yosemite 10.10 kullanım için

$ ./wif 
BSD if name: en1 
SSID: Aetherius 
+0

harika görünüyor. Eve gelir dönmez test eder. – MegaEduX

+0

Sadece ihtiyacım olduğu gibi çalışır. Teşekkürler! – MegaEduX

+0

ARC ile benim için çalışmıyor. Mac OSX 10.8.2 –

8

#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); 
} 
İlgili konular