Swift UIKit- Unable to get WiFi RSSI Value (無法拿取 Wifi RSSI 值)

原本的需求是使用Wi-Fi在建築物內定位,但發現有非常多限制,以下是我研究的結果。

在 iOS 14 之後 CNCopyCurrentNetworkInfo被廢棄

https://developer.apple.com/documentation/systemconfiguration/1614126-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、授權設定

***Access Wi-Fi Information 需要開發者帳號才能加入***

2、在 Info.plist 中添加 NSLocationWhenInUseUsageDescriptionNSLocationAlwaysUsageDescription

3、確保設備已連接Wi-Fi

4、程式碼

BSSID就是MAC

--

--