LoginSignup
2
3

More than 1 year has passed since last update.

備忘録: iOSシミュレーターでテストエビデンスを動画に残す

Posted at

何がしたいのか

シミュレーターでアプリをテストする時、どういう操作をしたか、その結果がどうだったかを残したい。

どうやってできるのか

Terminal を使って、 xcrun コマンドで録画開始、各種設定が可能です。同じ方法で静止画のスクショも保存できます。

コマンドの基本系:

静止画

xcrun simctl io booted screenshot <ファイル名>.<拡張子>

xcrun simctl io booted screenshot test-login-20210530.png

動画

録画開始:

xcrun simctl io booted recordVideo <ファイル名>.<拡張子>

xcrun simctl io booted recordVideo test-login-20210530.mov

終了:

⌃ – control + c

を押して、録画コマンドを終了する。

保存先、オプションについて

保存先

スクショ、動画ともコマンドが実行された Directory に保存されます。

pwd

して、確認しましょう。保存先として希望しているフォルダーに移動してから実行すれば、後からコピーなどの手間がなくなります。

動画・静止画で共通のオプション

--mask を使って、マスク設定が可能です。デフォルトは ignored になっていて、ノッチなどが無視される感じになります。他の選択しは black, alpha です。

参考に実際の画像です:

--mask=black

myScreenshot-mask-black.png

--mask=alpha

myScreenshot-mask-alpha.png

--mask=ignored (デフォルト)

myScreenshot-mask-ignored.png

動画特有

保存される動画のcodec設定が可能です。 --codec で指定できるのは h264 または hevc。デフォルトは hevc です。

同じファイル名を強制的に上書き保存したい場合は --force を使います。 ※ 静止画の場合は、デフォルトで上書き保存されます。

静止画特有

--type を使って画像の種類を指定することができます。 例: --type=jpegなど。デフォルトは png で、使えるオプションは png, tiff, bmp, gif, jpeg です。

バグなど、躓きそうな点

Xcode11.0 では iOS13 のシミュレータで画面収録しようとするとこのようなエラーになります

An error was encountered processing the command (domain=simctl.SimDisplayScreenshotWriter.ScreenshotError, code=2):

これは、組み合わせの問題で、他の組み合わせで試すといいです。

シミュレーターが起動していない(落ちた)時のエラー

No devices are booted.

シミュレーターを再起動しましょう。

help をみたい時

xcrun simctl io help
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3