我正在寻找获取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)?