核心 WLAN MCS 索引?
Core WLAN MCS Index?
我正在尝试重新创建在选择单击 Wi-Fi 状态栏项目时为当前 Wi-Fi 网络显示的信息。显示的参数之一是 MCS 索引,但我找不到使用 CWInterface
class 查询此值的任何方法,这是我获取大部分其他数据的地方:
if let interface = CWWiFiClient.shared().interface() {
rssi = interface.rssiValue()
noise = interface.noiseMeasurement()
// etc.
}
由于 Wi-Fi 状态栏项和机场命令行工具都显示 MCS 索引,看来应该有一些方法可以查询它:
MacBook:~ mark$ /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
agrCtlRSSI: -46
agrExtRSSI: 0
agrCtlNoise: -90
agrExtNoise: 0
state: running
op mode: station
lastTxRate: 878
maxRate: 1300
lastAssocStatus: 0
802.11 auth: open
link auth: wpa2-psk
BSSID: xx:xx:xx:xx:xx:xx
SSID: MyWiFi
MCS: 7
channel: 149,80
我也看到一些 Python sample code 似乎表明 MCS 索引应该可用,但我没有在文档或代码完成中看到它。
有什么方法可以通过 Core WLAN 或其他框架获得这个值,或者这是我需要根据其他值计算的东西吗?
我找到了另一个 Python 脚本 wifi_status.py
报告 WiFi 状态。来自台词
def wifi_status(properties=('bssid', 'channel', 'txRate', 'mcsIndex', 'rssi', 'noise')):
xface = CWWiFiClient.sharedWiFiClient().interface()
while True:
yield({name: getattr(xface, name)() for name in properties})
可以得出结论,可以使用以下方法检索这些属性
键值编码。
这确实有效:
if let iface = CWWiFiClient.shared().interface() {
if let mcsIndex = iface.value(forKey: "mcsIndex") as? Int {
print(mcsIndex)
}
}
但我现在知道这种方法是否得到官方支持,
或将在未来工作,因此使用风险自负。
我正在尝试重新创建在选择单击 Wi-Fi 状态栏项目时为当前 Wi-Fi 网络显示的信息。显示的参数之一是 MCS 索引,但我找不到使用 CWInterface
class 查询此值的任何方法,这是我获取大部分其他数据的地方:
if let interface = CWWiFiClient.shared().interface() {
rssi = interface.rssiValue()
noise = interface.noiseMeasurement()
// etc.
}
由于 Wi-Fi 状态栏项和机场命令行工具都显示 MCS 索引,看来应该有一些方法可以查询它:
MacBook:~ mark$ /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
agrCtlRSSI: -46
agrExtRSSI: 0
agrCtlNoise: -90
agrExtNoise: 0
state: running
op mode: station
lastTxRate: 878
maxRate: 1300
lastAssocStatus: 0
802.11 auth: open
link auth: wpa2-psk
BSSID: xx:xx:xx:xx:xx:xx
SSID: MyWiFi
MCS: 7
channel: 149,80
我也看到一些 Python sample code 似乎表明 MCS 索引应该可用,但我没有在文档或代码完成中看到它。
有什么方法可以通过 Core WLAN 或其他框架获得这个值,或者这是我需要根据其他值计算的东西吗?
我找到了另一个 Python 脚本 wifi_status.py 报告 WiFi 状态。来自台词
def wifi_status(properties=('bssid', 'channel', 'txRate', 'mcsIndex', 'rssi', 'noise')):
xface = CWWiFiClient.sharedWiFiClient().interface()
while True:
yield({name: getattr(xface, name)() for name in properties})
可以得出结论,可以使用以下方法检索这些属性 键值编码。
这确实有效:
if let iface = CWWiFiClient.shared().interface() {
if let mcsIndex = iface.value(forKey: "mcsIndex") as? Int {
print(mcsIndex)
}
}
但我现在知道这种方法是否得到官方支持, 或将在未来工作,因此使用风险自负。