Search code examples
objective-cmacoswifissidsystem-configuration

Getting OSX Connected Wi-Fi Network Name


I need to get the name of the currently connected Wi-Fi SSID on OSX.

I've messed with the SystemConfiguration framework, I feel like it is there (as I am able to get the name of the network locaiton) but I am not really finding a way of getting the Wi-Fi SSID.

Would appreciate any help. :)

Thanks.


Solution

  • You can use the CoreWLAN framework: CWInterface has a property called ssid. The code below gets the current wireless interface and shows its BSD name and its SSID. It works on 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;
    }
    

    Output:

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