如何在iPhone X iOS Swift上测量WiFi dBm强度



我正在寻找获取iPhone X手机上wifi、dBm的原始信号的方法,但只能找到如何从以下位置获取numberOfActiveBars:Answer

试图@Mosbash回答,结果崩溃了。

Thread 1: EXC_BAD_ACCESS (code=1, address=0x18)代码:

class ViewController: UIViewController {
var hotspot: NEHotspotNetwork!
func viewDidLoad() {
....
hotspot = NEHotspotNetwork()
}
func record() {
hotspot.setConfidence(.high) /// <- Crash
print(hotspot.signalStrength) /// <- Crash if above line is commented out
}
}

您需要向Apple申请权限并创建权限。

您可以使用来自NEHotspotNetwork的signalStrength,如下所述https://developer.apple.com/documentation/networkextension/nehotspotnetwork/1618923-signalstrength

当Hotspot Helper应用程序被要求评估网络或过滤Wi-Fi扫描列表,它会注释NEHotspotNetwork对象通过setConfidence:方法。

以下是将Wifi信号强度百分比转换为RSSI dBm:的公式

quality = 2 * (dBm + 100)  where dBm: [-100 to -50]
dBm = (quality / 2) - 100  where quality: [0 to 100]

有关更多详细信息,请参阅此答案:如何将Wifi信号强度从质量(百分比)转换为RSSI(dBm)?

最新更新