![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/masatora_bd5/20240330/20240330234419.jpg) ## やりたいこと Wi-Fiの接続状況、特にスピードを自動的に記録しておくと便利です。 記事 [Wi-Fi環境を把握して最適なプレイを。PS5のリモートプレイに役立つシェルスクリプト - Qiita](https://qiita.com/hann-solo/items/c560062e9742769ce5bc) では、PS5のリモートプレイに焦点を当てましたが、それにとどまらず、接続速度の推移を記録してあると、諸々対策の幅も広がります。 macOSには、自動的にシェルスクリプトを定期実行し、出力をメニューバーに表示できる [[SwiftBar]] というツールがあります。Wi-Fiの自動モニタリングとの相性は最高です。 ![SS 2024-03-30 23.19.04_rd.png](https://cdn-ak.f.st-hatena.com/images/fotolife/m/masatora_bd5/20240330/20240330231928.png) <span class="mxt-caption"> ▲ 10分毎に自動測定しており、メニューバーでいつでも見られます。</span> ## 今回発生した困りごとと対策 [[SwiftBar]] プラグインで、SSID表示がうまくいかなくなりました。 macOSのセキュリティポリシー更新で、`airport`コマンドが非推奨となり、代替方法への移行が必要となりました。この変更はWi-Fi速度自動測定プラグインに影響があり、SSIDが正しく表示されなくなっていました。 この記事では、SSID取得方法を改訂した作業の詳細を記します。 ### 改訂内容の概要 #### SSID取得方法の更新 以前のSSID取得コマンド: ```bash ssid=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk -F': ' '/ SSID/ {print "SSID: " $2}') ``` 改訂後のSSID取得コマンド: ```bash ssid=$(system_profiler SPAirPortDataType | awk '/Current Network Information:/{getline; gsub(/^ +|:$/,""); print "SSID: " $0; exit}') ``` プラグインの全体コード: [speedtest_swiftbar.sh - Monitor Wi-Fi speed: Automatic tests, monthly logs, and menu bar results · GitHub](https://gist.github.com/hnsol/bde3ef4c5f76790f2fe93c0d7a1a0919) #### 変更の動機 `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ネットワークを簡単に確認できます。