首页 文章

iPhone SDK可以获取当前连接的Wi-Fi SSID吗?

提问于
浏览
13

在iPhone SDK中,我没有看到在Mac OS X上使用的相同 SCDynamicStore 获取无线网络当前连接的SSID名称不可用 .

有没有办法获得iPhone当前连接的SSID名称?

我看到一些应用程序这样做(Easy Wi-Fi for AT&T为一个),但我可以在iPhone SDK文档中完成 . 私有或取消发布的方法可以作为概念证明(虽然我知道可能不会进入AppStore) .

3 回答

  • 18

    现在可以通过Captive Network API实现(iOS 4.1) .

    an example of how to use it on this similar question .

    This is not a private API.

  • 6

    在挖掘之后,我找到了这个的anser . 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以及所有这些内容 .

  • 4

    试试这段代码,

    #import <SystemConfiguration/CaptiveNetwork.h>
    
    CFArrayRef myArray = CNCopySupportedInterfaces();
    CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
    NSDictionary *ssidList = (__bridge NSDictionary*)myDict;
    NSString *SSID = [ssidList valueForKey:@"SSID"];
    

相关问题