【iOS/Xcode】シミュレーターのステータスバー(時刻、ネットワーク、バッテリー)を変更してデバッグする方法

【iOS/Xcode】シミュレーターのステータスバー(時刻、ネットワーク、バッテリー)を変更してデバッグする方法

この記事からわかること

  • XcodeiPhoneシミュレーターステータスバー(時刻ネットワークバッテリー)を変更してデバッグする方法

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

iOSのシミュレーターでステータスバーを変更する方法

iOSのシミュレーターではステータスバーに表示されている時刻、ネットワーク、バッテリーなどの情報xcrun simctlコマンドを使用することで柔軟にデバッグすることができます。カスタマイズできる項目はxcrun simctl help status_barコマンドを実行することで確認することができます。

$ xcrun simctl help status_bar

Set or clear status bar overrides
Usage: simctl status_bar <device> [list | clear | override <override arguments>]

Supported Operations:
    list
	List existing overrides.

    clear
	Clear all existing status bar overrides.

    override <override arguments>
	Set status bar override values, according to these flags.
	You may specify any combination of these flags (at least one is required):

	--time <string>
	     Set the date or time to a fixed value.
	     If the string is a valid ISO date string it will also set the date on relevant devices.
	--dataNetwork <dataNetworkType>
	     If specified must be one of 'hide', 'wifi', '3g', '4g', 'lte', 'lte-a', 'lte+', '5g', '5g+', '5g-uwb', or '5g-uc'.
	--wifiMode <mode>
	     If specified must be one of 'searching', 'failed', or 'active'.
	--wifiBars <int>
	     If specified must be 0-3.
	--cellularMode <mode>
	     If specified must be one of 'notSupported', 'searching', 'failed', or 'active'.
	--cellularBars <int>
	     If specified must be 0-4.
	--operatorName <string>
	     Set the cellular operator/carrier name. Use '' for the empty string.
	--batteryState <state>
	     If specified must be one of 'charging', 'charged', or 'discharging'.
	--batteryLevel <int>
	     If specified must be 0-100.

シミュレーターのデバイス名を確認する

ステータスバーを変更する際には対象のシミュレーターデバイス名を指定する必要があります。以下のコマンドを実行することでアクティブになっているデバイス名を確認することができます。

$ xcrun simctl list | grep Booted
    iPhone 17 Pro Max (A4C53170-5D01-48FF-87FE-CBAE2E198388) (Booted) 

デバイス名を指定せずにアクティブになっている端末を指定するには、bootedを使用します。

$ xcrun simctl status_bar booted override --time "11:15"

時刻を変更する

時刻は--timeオプションを使用して変更することができます。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --time "11:15"

時間はHH:mm形式で指定できるようですが、"11:00"のようにちょうどの時間を指定しようとするとエラーになってしまいました。解決方法は不明です。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --time "11:00"
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=22):
Simulator device failed to complete the requested operation.
Invalid argument
Underlying error (domain=NSPOSIXErrorDomain, code=22):
        Invalid, non-ISO date/time string
        Invalid argument

ネットワークを変更する

ネットワークは--dataNetworkオプションを使用して変更することができます。変更できるのはhidewifi3g4gltelte-alte+5g5g+5g-uwb5g-ucです。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --dataNetwork "4g"

Wi-Fiの状態を変更する

Wi-Fiの状態は--wifiModeオプションを使用して変更することができます。searchingfailedactiveのいずれかを指定することができます。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --wifiMode "active"

Wi-Fiの強度を変更する

Wi-Fiの強度は--wifiBarsオプションを使用して変更することができます。03の値を指定することができます。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --wifiBars 1

通信回線の状態を変更する

通信回線の状態は--cellularModeオプションを使用して変更することができます。notSupportedsearchingfailedactiveのいずれかを指定することができます。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --cellularMode "active"

通信回線の強度を変更する

通信回線の強度は--cellularBarsオプションを使用して変更することができます。04の値を指定することができます。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --cellularBars 2

通信回線のキャリア名を変更する

通信回線のキャリア名は--operatorNameオプションを使用して変更することができます。--cellularMode activeを付与することで任意のキャリア名を設定できます。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --operatorName "楽天" --cellularMode active

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

バッテリー状態は--batteryStateオプションを使用して変更することができます。charging/charged/dischargingのいずれかを指定することができます。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --batteryState "charging"
$ xcrun simctl status_bar "iPhone 17 Pro Max" override --batteryState "charged"
$ xcrun simctl status_bar "iPhone 17 Pro Max" override --batteryState "discharging"

バッテリーレベルを変更する

バッテリーレベルは--batteryLevelオプションを使用して変更することができます。0100の間で指定することができます。

$ xcrun simctl status_bar "iPhone 17 Pro Max" override --batteryLevel 50
$ xcrun simctl status_bar "iPhone 17 Pro Max" override --batteryLevel 20

設定をリセットする

ステータスバーの設定をリセットするにはclearオプションを使用します。

$ xcrun simctl status_bar "iPhone 17 Pro Max" clear

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

Search Box

Sponsor

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index