Introduction

備忘録。
モバイル自動テストの Maestro を使う際、コマンドラインからアプリを転送する方法を探していた。
結論から言えば、2023年8月時点で、iPhone 実機での自動テストには未対応 (Android は対応)。
Issue でも上がっている

また、ドキュメント内 (Connecting to Your Device) にもこっそり?

Note: At the moment, Maestro does not support real iOS devices

とある。

実機テストできない、と判断するまでに無駄に時間を取られた。
いや、本当 Maestro の出来がいいだけに残念。

How to do?

ios-deploy というツールで簡単に転送が可能。
インストールも brew から。

1
2
$ brew install ios-deploy
$ ios-deploy --bundle [path/to/your/app/.app]

のようにするだけ。

flutterXamarinMAUI でビルドして生成される出力フォルダを転送できる。

ちなみに、実機からのアプリ削除も ios-deploy で可能

1
2
3
4
5
$ ios-deploy --uninstall_only --bundle_id [bundle-identifier]
[....] Waiting for iOS device to be connected
[....] Using 9a1e9bf15489282f50f795bd0768752f28d62604 (D11AP, iPhone 7 Plus, iphoneos, arm64, 15.7.6, 19H349) a.k.a. 'iPhone (2)'.
------ Uninstall phase ------
[ OK ] Uninstalled package with bundle id com.companyname.demo