Swift UIKit- Unable to get WiFi RSSI Value (無法拿取 Wifi RSSI 值)
Published in
Sep 4, 2024
原本的需求是使用Wi-Fi在建築物內定位,但發現有非常多限制,以下是我研究的結果。
在 iOS 14 之後 CNCopyCurrentNetworkInfo被廢棄
現在能取得的WiFi訊息有
1- ssid: String
The SSID for the Wi-Fi network.
2- bssid: String
The BSSID for the Wi-Fi network.3- signalStrength: Double
The recent signal strength for the Wi-Fi network.
Discussion
The value of this property lies within the range 0.0 (weak/no signal) to 1.0 (strong signal).
*但是目前測試signalStrength的值誤差非常大,即便在WiFi旁邊開啟測試機,接收到的訊號也很長是0.0*
如何獲取SSID、BSSID、signalStrength?
1、授權設定
2、在 Info.plist
中添加 NSLocationWhenInUseUsageDescription
、NSLocationAlwaysUsageDescription
3、確保設備已連接Wi-Fi
4、程式碼
參考資料
fetchCurrent(completionHandler:)