Как измерить силу WiFi дБм на iPhone X iOS Swift - PullRequest
0 голосов
/ 13 января 2019

Я ищу способы получения необработанного сигнала 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 Ответ

0 голосов
/ 13 января 2019

Вы можете использовать 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 (дБм)?

...