2011-01-19 16 views
7

मुझे ओएसएक्स पर वर्तमान में जुड़े वाई-फाई एसएसआईडी का नाम प्राप्त करने की आवश्यकता है।ओएसएक्स कनेक्टेड वाई-फाई नेटवर्क नाम प्राप्त करना

मैंने सिस्टम कॉन्फ़िगरेशन फ्रेमवर्क से गड़बड़ कर ली है, मुझे लगता है कि यह वहां है (जैसा कि मैं नेटवर्क locaiton का नाम प्राप्त करने में सक्षम हूं) लेकिन मुझे वास्तव में वाई-फाई एसएसआईडी प्राप्त करने का कोई तरीका नहीं मिल रहा है।

किसी भी मदद की सराहना करेंगे। :)

धन्यवाद।

उत्तर

10

आप कोरब्लान फ्रेमवर्क का उपयोग कर सकते हैं: CWInterface में ssid नामक एक संपत्ति है। नीचे दिया गया कोड वर्तमान वायरलेस इंटरफ़ेस प्राप्त करता है और इसका बीएसडी नाम और इसका एसएसआईडी दिखाता है। यह मैक ओएस 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

+0

जैसा कि मुझे चाहिए वैसे ही काम करता है। धन्यवाद! – MegaEduX

+0

एआरसी के साथ मेरे लिए काम नहीं कर रहा है। मैक ओएसएक्स 10.8.2 –

8

OSX Yosemite 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); 
} 
संबंधित मुद्दे