2011-01-19 7 views
7

Necesito obtener el nombre del Wi-Fi SSID actualmente conectado en OSX.Obtener el nombre de la red Wi-Fi conectada a OSX

He echado a perder el marco de trabajo SystemConfiguration, siento que está ahí (ya que puedo obtener el nombre de la ubicación de la red) pero realmente no encuentro la manera de obtener el Wi-Fi SSID.

Agradecería cualquier ayuda. :)

Gracias.

Respuesta

10

Puede utilizar el marco CoreWLAN: CWInterface tiene una propiedad llamada ssid. El siguiente código obtiene la interfaz inalámbrica actual y muestra su nombre BSD y su SSID. Funciona en 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; 
} 

Salida:

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

parece grande. Lo probaré tan pronto como llegue a casa. – MegaEduX

+0

Funciona justo como lo necesitaba. ¡Gracias! – MegaEduX

+0

No funciona para mí con ARC. Mac OSX 10.8.2 –

8

para OSX Yosemite 10,10 uso

#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); 
} 
Cuestiones relacionadas