【问题标题】:How to get the current connection wifi channel (frequency) in iOS?如何在 iOS 中获取当前连接的 wifi 频道(频率)?
【发布时间】:2013-12-09 02:54:12
【问题描述】:

我想知道如何在iOS中获取WIFI频道和频率信息。

最好不要从私有 API 获取(因为我需要提交到 iTunes Store)。

【问题讨论】:

    标签: ios wifi


    【解决方案1】:

    从 iOS 7 开始,无法使用公开可用的 API 来做到这一点。操作系统算法控制网络并根据拥塞、干扰和其他因素决定使用哪个通道。

    如果您可以使用私有 API,那么您可以使用 Stumbler,这是一个公开您感兴趣的数据的库:https://code.google.com/p/iphone-wireless/wiki/Stumbler

    警告:如果您想使用私有 API,那么您将无法通过 App Store 分发(并且您将面临使用 Apple 私有 API 带来的所有其他危险:banhammer,随时破损等)。

    【讨论】:

    • 感谢您的快速回复。有人说可以使用Stumbler库,但是我没有找到源代码,你知道吗,你可以告诉我
    • 我只想获取当前连接到路由器WIFI通道的IOS设备
    • 非常感谢您的回答。
    • 这段代码不再编译。有机会获得最新的 src 代码。在我的 PoC 中使用私有 API 没有问题。
    • 这个限制在 2021 年仍然适用吗?
    【解决方案2】:

    正如其他人指出的那样,在 iOS 上使用官方 API 无法获得 Wi-Fi 频率。

    有一种解决方法可以通过主动运行 wifi 测量来确定用户是连接到 2.4Ghz 还是 5Ghz 范围。您可以设置一个在 2.4 Ghz 上不现实的限制(例如,通常在 2.4 Ghz 上无法实现超过 100 Mbit 的 Wi-Fi 速度)。

    要运行 wi-fi 测量,最好运行真正的 wi-fi 速度测量而不是互联网速度测量,因为后者可能会被 ISP(而不是 wi-fi)放慢。

    这里是有关 Stackoverflow 评论如何测量 wi-fi 速度 - iOS Get Link Speed (Router Speed Test)

    无论哪种方式,您都无法确定实际的 wifi 频道,只能确定是 2.4 还是 5Ghz。这在未来可能会变得更加复杂,因为 6Ghz 的范围在 5 和 6 Ghz 之间不会那么容易拆分。

    【讨论】:

      猜你喜欢
      • 2012-10-13
      • 1970-01-01
      • 2019-05-28
      • 2019-03-01
      • 2021-02-16
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多