如何在iPhone X iOS Swift上测量WiFi dBm强度
我正在寻找获取wifi原始信号的方法,即iPhone X手机上的dBm,但只能从以下位置获取如何在iPhone X iOS Swift上测量WiFi dBm强度,ios,swift,wifi,iphone-x,dbm,Ios,Swift,Wifi,Iphone X,Dbm,我正在寻找获取wifi原始信号的方法,即iPhone X手机上的dBm,但只能从以下位置获取numberOfActiveBars: 尝试@Mosbash答案,结果崩溃了 线程1:EXC\u BAD\u访问(代码=1,地址=0x18)代码: class ViewController: UIViewController { var hotspot: NEHotspotNetwork! func viewDidLoad() { .... hotspot = NEHotspotN
numberOfActiveBars
:
尝试@Mosbash答案,结果崩溃了
线程1:EXC\u BAD\u访问(代码=1,地址=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
}
}
类ViewController:UIViewController{
var热点:nehospotnetwork!
func viewDidLoad(){
....
热点=nehospotnetwork()
}
func记录(){
setConfidence(.high)//您可以使用NEHotspotNetwork的信号强度,如下所述
当热点助手应用程序被要求评估网络或
过滤Wi-Fi扫描列表,它会注释网络对象
通过setConfidence:方法
以下是将Wifi信号强度百分比转换为RSSI dBm的公式:
quality = 2 * (dBm + 100) where dBm: [-100 to -50]
dBm = (quality / 2) - 100 where quality: [0 to 100]
有关更多详细信息,请参阅此答案:
您可以使用NEHotspotNetwork的信号强度,如下所述
当热点助手应用程序被要求评估网络或
过滤Wi-Fi扫描列表,它会注释网络对象
通过setConfidence:方法
以下是将Wifi信号强度百分比转换为RSSI dBm的公式:
quality = 2 * (dBm + 100) where dBm: [-100 to -50]
dBm = (quality / 2) - 100 where quality: [0 to 100]
有关更多详细信息,请参阅此答案:
您需要获得Apple的许可并创建授权。您需要获得Apple的许可并创建授权。这将为您提供介于0.0(弱/无信号)到1.0(强信号)范围内的值。这不是dBm,它的范围在-20到-90之间。谢谢。我试图设置HotSpot helper,但出现了一个故障,手机没有使用金属。有什么想法吗?你能分享你的代码和故障堆栈跟踪吗?这会给你一个介于0.0(弱/无信号)到1.0(强信号)之间的值。这不是dBm,它的范围在-20到-90之间。谢谢。我试图设置HotSpot helper,但手机没有使用金属。有什么想法吗?你能分享你的代码和崩溃堆栈跟踪吗?任何想知道“Apple许可”的人,请参阅Apple文档:任何想知道的人“苹果许可”,请参阅苹果文档: