Как измерить силу WiFi дБм на iPhone X iOS Swift
Я ищу способы получить сырой сигнал Wi-Fi, дБм на телефонах iPhone X, но могу найти только как получить numberOfActiveBars
от: Ответить
Попытка ответа @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
}
}
1 ответ
Вы можете использовать signalStrength из NEHotspotNetwork, как описано здесь https://developer.apple.com/documentation/networkextension/nehotspotnetwork/1618923-signalstrength
Когда приложение Hotspot Helper запрашивается для оценки сети или фильтрации списка сканирования Wi-Fi, оно аннотирует объект NEHotspotNetwork с помощью метода setConfidence:.
Вот формула для преобразования процента мощности сигнала Wi-Fi в RSSI дБм:
quality = 2 * (dBm + 100) where dBm: [-100 to -50]
dBm = (quality / 2) - 100 where quality: [0 to 100]
См. Этот ответ для более подробной информации: Как преобразовать уровень сигнала Wifi из качества (в процентах) в RSSI (дБм)?