iOSシミュレーター・Androidエミュレーターにアプリをインストールだけする(起動までしない)方法
なぜ
アプリの初回起動時専用の特別な処理や画面遷移を行うケースで、そのデバッグ実行・動作確認をするため。
iOS
まずインストールするためのアプリは Build For Running
でビルドしておく。次にシミュレーターを起動しておいて
xcrun simctl install booted <~~.appのパス>
のコマンドを実行する。
もしくは、シミュレーターのウィンドウに ~~.app
をFinderからドラッグ&ドロップする。
Xcodeのスキーム設定の Wait for the executable to be launched
が使えるのでは、と一瞬考える。しかしこれはシミュレーターにインストール済みのアプリには使えるのだが、まだインストールされていないアプリの場合は、アプリのインストールまではやってくれないので、ただ待つだけ(何も起きない)状態になる。ので、別途自分でインストールしてあげる必要がある。
UserDefaultsやKeychainも含めてまっさらな初回起動状態の再現のために、シミュレーターのメニューの Device
-> Erase All Content and Settings…
も便利。
Android
エミュレーターを起動しておいて
gradlew installDevelopDebug
のコマンドを実行する。DevelopDebug
の部分は使いたいbuild variantを指定する。こちらはエミュレーターではなく実機接続でも動作する。