ハイパーマッスルエンジニア

Vim、ShellScriptについてよく書く

Xcode11のiOSシミュレータで、ステータスバーを変更できるコマンドまとめ(時刻、バッテリー、ネットワーク表示など)

Xcode11からiOSシミュレータのステータスバーをコマンドで自由に変更できるようになった。
時刻、バッテリー、ネットワーク表示など結構色々変えれるみたいなので実行コマンドと結果をまとめておく。

動作環境

  • Xcode 11.4

時刻を変更する

シミュレータのスクリーンショットを取りたいときなどに、時刻を好きな値で固定したいことがある。
例えば9:41に時刻を固定したい場合は下記のコマンドをTerminalで実行する。

$ xcrun simctl status_bar "iPhone 11 Pro" override --time "9:41"

f:id:rasukarusan:20200501133712p:plain:w250
時刻を9:41に設定
※シミュレータは事前に起動しておく必要がある

シミュレータ名はXcodeに表示されているものをそのまま打ち込めばOK。 f:id:rasukarusan:20200501133505p:plain

もしくはコマンドでも取得できるので、それをコピペしてもOK。

$ xcrun simctl list | grep Booted

f:id:rasukarusan:20200501133532p:plain

ちなみに時刻には日本語も設定することができる。

$ xcrun simctl status_bar "iPhone 11 Pro" override --time "日本語もOK"

設定を元に戻したい時

デフォルトに戻したいときは下記コマンドで戻せる

$ xcrun simctl status_bar "iPhone 11 Pro" clear

ネットワーク表示を変更する

設定できるのは'wifi', '3g', '4g', 'lte', 'lte-a', 'lte+'の6種類

# ネットワークアイコンを4gに変更する
$ xcrun simctl status_bar "iPhone 11 Pro" override --dataNetwork "4g"

f:id:rasukarusan:20200501134703p:plain:w250
`4g`に設定

マニュアルにはlte-a, lte+も設定できると書いてあるが、自分の環境だとアイコンが「?」になってしまった。

Wifiの状態を変更する

設定できるのは'searching', 'failed', 'active'の3種類。

$ xcrun simctl status_bar "iPhone 11 Pro" override --wifiMode "failed"

f:id:rasukarusan:20200501134742p:plain:w250
`failed`に設定

searchingは設定しても特に変化はなかった。

Wifiの強度を変更する

設定できるのは0~3

$ xcrun simctl status_bar "iPhone 11 Pro" override --wifiBars 1

f:id:rasukarusan:20200501134802p:plain:w250
強度を`1`に設定

携帯回線の表示を変更する

設定できるのは'notSupported', 'searching', 'failed','active'の4種類。

$ xcrun simctl status_bar "iPhone 11 Pro" override --cellularMode "active"

f:id:rasukarusan:20200501134831p:plain:w250
`active`に設定。4本の電波が立っている状態になる。

携帯回線の強度を変更する

設定できるのは0~4

$ xcrun simctl status_bar "iPhone 11 Pro" override --cellularBars 2

f:id:rasukarusan:20200501134850p:plain:w250
`2`に設定。電波が2本になる。

携帯回線のキャリア名を変更する

これはiPhone8までが対象。iPhone10からはステータスバーのレイアウト変更でキャリア名が表示されなくなってしまっているため、変更しても何も起きない。

# --cellularMode activeも同時につけてあげないと変更されないので注意
$ xcrun simctl status_bar "iPhone 8" override override --operatorName '自由' --cellularMode active

f:id:rasukarusan:20200501134907p:plain:w250
キャリア名が「自由」になっている

バッテリー状態を変更する

設定できるのは'charging', 'charged', 'discharging'の3種類。

$ xcrun simctl status_bar "iPhone 11 Pro" override --batteryState "charging"

f:id:rasukarusan:20200501134954p:plain:w250
`charging`に設定。充電中になっている。

バッテリーの充電率を変更する

設定できるのは0-100

$ xcrun simctl status_bar "iPhone 11 Pro" override --batteryLevel 50

f:id:rasukarusan:20200501134931p:plain:w250
充電率を`50`に設定

終わり

ここで紹介したものは全てxcrun simctl help status_barを実行すれば見れる。 あとAppleのリリースノートにもシミュレータについて色々書かれているので一度目を通しておくのはアリ。