【问题标题】:Can the iPhone SDK obtain the Wi-Fi SSID currently connected to?iPhone SDK能否获取当前连接的Wi-Fi SSID?
【发布时间】:2010-09-25 05:49:22
【问题描述】:

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

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

我看到一些应用程序可以做到这一点(Easy Wi-Fi for AT&T 一个),但我在 iPhone SDK 文档中找不到它是如何完成的。私有或取消发布方法作为概念证明是可以接受的(尽管我知道这可能不会进入 AppStore)。

【问题讨论】:

    标签: iphone ios wifi


    【解决方案1】:

    现在可以通过Captive Network API 实现这一点(iOS 4.1+)。

    an example of how to use it on this similar question

    这不是私有 API。

    【讨论】:

      【解决方案2】:

      在四处挖掘之后,我找到了答案。 Preferences 框架中有未发布的 API。有关这方面的示例,可以查看托管在 Google Code 上的Stumbler code

      我向 Apple (#6407431/OpenRadar version) 提交了一份雷达,该雷达被标记为 #5814810 的副本)。如果您希望得到官方支持,请同时发送电子邮件至bugreport.apple.com

      更新:上面的 Stumbler 代码适用于 1.x 版本的 iPhone OS SDK。对于 iPhone OS 2.0 及更高版本,开发人员必须查看 PrivateFrameworks/Apple80211.Framework 以及所有暗示。

      【讨论】:

        【解决方案3】:

        试试这个代码,

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

        【讨论】:

        • 请注意您需要对 myArray 进行空检查
        猜你喜欢
        • 2021-04-11
        • 2011-04-02
        • 1970-01-01
        • 1970-01-01
        • 2020-02-14
        • 1970-01-01
        • 2018-11-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多