2012-12-17 126 views
2

嗨,我正在尋找一個簡單的代碼來讀取SSID, 我發現了很多關於「SystemConfiguration/CaptiveNetwork.h」 的信息,但我怎麼能使用它,我不'不瞭解它。 對不起,我是一個新的Objective-C程序員。 你有一個很好的例子或教程來理解它。 我試過從蘋果公司可到達,但他們不適用於字典。簡單的代碼來從網絡獲取SSID

感謝您的幫助

回答

1

謝謝@helming,在這兒,這樣一來就不會編譯成二進制模擬器+添加到CFRelease電話:

#if !TARGET_IPHONE_SIMULATOR 
    CFArrayRef interfaces = CNCopySupportedInterfaces(); 
    CFDictionaryRef networkInfo = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(interfaces, 0)); 
    NSString *ssid = CFDictionaryGetValue(networkInfo, @"SSID"); 
    CFRelease(interfaces); 
    CFRelease(networkInfo); 
#endif 
+0

你能告訴我如何從路由器,網關獲取IP地址嗎? – J0k3R

+0

對於ip,請參閱此主題:http://stackoverflow.com/questions/7072989/iphone-ipad-osx-how-to-get-my-ip-address-programmatically –

1
CFArrayRef myArray = CNCopySupportedInterfaces(); 
CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0)); 
NSString *ssid = CFDictionaryGetValue(myDict, @"SSID"); 
+0

感謝您的幫助和更正後 – J0k3R

+1

不要忘記發佈複製的Core Foundation對象,ARC不會爲你處理這些事情。 'CFRelease(myArray); CFRelease(myDict);' –

+0

另請注意,這在模擬器上不起作用,'CNCopySupportedInterfaces()'將返回null –