やりたいこと
Wi-Fiの接続状況、特にスピードを自動的に記録しておくと便利です。
記事 Wi-Fi環境を把握して最適なプレイを にもあるよう、接続速度の推移を記録してあると対策の幅が広がります。
macOSには、SwiftBar というツールがあり、Wi-Fiの自動モニタリングとの相性は最高です。
▲ 10分毎に自動測定しており、メニューバーでいつでも見られます。
今回発生した困りごとと対策
SwiftBar プラグインで、SSID表示がうまくいかなくなりました。
macOSのセキュリティポリシー更新で、airport
コマンドが非推奨となり、代替方法への移行が必要となりました。この変更はWi-Fi速度自動測定プラグインに影響があり、SSIDが正しく表示されなくなっていました。
この記事では、SSID取得方法を改訂した作業の詳細を記します。
改訂内容の概要
SSID取得方法の更新
以前のSSID取得コマンド:
ssid=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk -F': ' '/ SSID/ {print "SSID: " $2}')
改訂後のSSID取得コマンド:
ssid=$(system_profiler SPAirPortDataType | awk '/Current Network Information:/{getline; gsub(/^ +|:$/,""); print "SSID: " $0; exit}')
プラグインの全体コード:
変更の動機
airport
コマンドの非推奨化により、SSIDが取得できず、メニューバーにSSIDを表示できなくなりました。system_profiler SPAirPortDataType
を使用することで、SSIDを含むネットワーク情報を安定して取得できるようになります。このコマンド変更は、SSID取得方式を現在のmacOSの仕様に合わせ、より長期的に利用可能にします。
注意点
この改訂は現在のsystem_profiler
の出力フォーマットに基づいています。Appleによる将来的なフォーマット変更は、この解決策の有効性に影響を及ぼす可能性があるため、注意が必要です。
補足:SSID取得コマンドの変更
新しいsystem_profiler SPAirPortDataType
コマンドは、従来のairport
コマンドに比べ、包括的なWi-Fiネットワーク情報を提供します。SSIDだけでなく、接続品質やセキュリティ設定など、より詳細なデータを得られます。また、macOSのセキュリティポリシーに基づく変更に強く、将来的にもサポートが続く見込みです。
まとめ
この記事では、SwiftBarプラグインのSSID表示問題に対処するための方法を紹介しました。macOSの更新に伴い非推奨となったairport
コマンドに代わる、新しいSSID取得方法を導入しました。
この改訂により、プラグインは再び正確なSSID情報を表示できるようになり、ユーザーは現在接続しているWi-Fiネットワークを簡単に確認できます。
この記事は 📗SwiftBarでのWi-Fi速度測定とそのSSID表示問題の対応 - MXT Forest に基づいています。最新の情報や更新は、元の記事で確認してください。