在iPhone SDK中,我看不到在Mac OS X上使用的相同SCDynamicStore
以獲取無線網絡當前連接的SSID名稱不可用。iPhone SDK可以獲取當前連接的Wi-Fi SSID嗎?
有沒有辦法獲得iPhone當前連接的SSID名稱?
我看到一些應用程序這樣做(Easy Wi-Fi for AT&T爲一),但我無法找到它是如何在iPhone SDK文檔中完成的。一個私人或不公開的方法是可以接受的,只是作爲一個概念證明(儘管我知道它可能不會到達AppStore)。
在iPhone SDK中,我看不到在Mac OS X上使用的相同SCDynamicStore
以獲取無線網絡當前連接的SSID名稱不可用。iPhone SDK可以獲取當前連接的Wi-Fi SSID嗎?
有沒有辦法獲得iPhone當前連接的SSID名稱?
我看到一些應用程序這樣做(Easy Wi-Fi for AT&T爲一),但我無法找到它是如何在iPhone SDK文檔中完成的。一個私人或不公開的方法是可以接受的,只是作爲一個概念證明(儘管我知道它可能不會到達AppStore)。
這現在可以通過Captive Network API(iOS 4.1+)。
請參閱an example of how to use it on this similar question。
這不是私人API。
挖掘周圍後,我發現了這個。 Preferences框架中有未發佈的API。例如,您可以查看Google代碼上託管的Stumbler code。
我向蘋果提交了一個雷達(#6407431/OpenRadar version),標記爲#5814810的副本。如果您希望得到官方的支持,請在bugreport.apple.com提交雷達。
更新:上述Stumbler代碼用於1.x修訂版iPhone OS SDK。對於iPhone OS 2.0及更高版本,開發人員必須查看PrivateFrameworks/Apple80211.Framework及其所有含義。
試試這個代碼,
#import <SystemConfiguration/CaptiveNetwork.h>
CFArrayRef myArray = CNCopySupportedInterfaces();
CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
NSDictionary *ssidList = (__bridge NSDictionary*)myDict;
NSString *SSID = [ssidList valueForKey:@"SSID"];
注意到,你需要在myArray的空校驗 – funroll 2015-01-13 22:18:19