【发布时间】:2013-12-09 02:54:12
【问题描述】:
我想知道如何在iOS中获取WIFI频道和频率信息。
最好不要从私有 API 获取(因为我需要提交到 iTunes Store)。
【问题讨论】:
我想知道如何在iOS中获取WIFI频道和频率信息。
最好不要从私有 API 获取(因为我需要提交到 iTunes Store)。
【问题讨论】:
从 iOS 7 开始,无法使用公开可用的 API 来做到这一点。操作系统算法控制网络并根据拥塞、干扰和其他因素决定使用哪个通道。
如果您可以使用私有 API,那么您可以使用 Stumbler,这是一个公开您感兴趣的数据的库:https://code.google.com/p/iphone-wireless/wiki/Stumbler
警告:如果您想使用私有 API,那么您将无法通过 App Store 分发(并且您将面临使用 Apple 私有 API 带来的所有其他危险:banhammer,随时破损等)。
【讨论】:
正如其他人指出的那样,在 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 之间不会那么容易拆分。
【讨论】: