在iPhone SDK中,我没有看到Mac OS X上使用的SCDynamicStore
相同,以获取您的无线网络当前连接的SSID名称不可用。
有没有办法获取iPhone当前连接的SSID名称?
我看到一些应用程序执行此操作(Easy Wi-Fi for AT&T为一个)但我无法在iPhone SDK文档中找到它是如何完成的。私有或取消发布的方法可以作为概念证明(虽然我知道可能不会进入AppStore)。
答案 0 :(得分:18)
现在可以通过Captive Network API来实现(iOS 4.1+)。
请参阅an example of how to use it on this similar question。
这不是私有API。
答案 1 :(得分:6)
在挖掘之后,我发现了这个问题。 Preferences框架中有未发布的API。有关此示例,请查看Google代码上托管的Stumbler code。
我向Apple提交了一个雷达(#6407431 / OpenRadar version),标记为#5814810的副本。如果您希望获得官方支持,请同时在bugreport.apple.com提交雷达。
更新:以上Stumbler代码适用于1.x版本的iPhone OS SDK。对于iPhone OS 2.0及更高版本,开发人员必须查看PrivateFrameworks / Apple80211.Framework以及所有这些内容。
答案 2 :(得分:4)
试试这段代码,
#import <SystemConfiguration/CaptiveNetwork.h>
CFArrayRef myArray = CNCopySupportedInterfaces();
CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
NSDictionary *ssidList = (__bridge NSDictionary*)myDict;
NSString *SSID = [ssidList valueForKey:@"SSID"];