iOSシミュレータのアプリをコマンドラインからDeepLink起動する
いつも忘れるのでメモ。
iOSシミュレータ内のSafari使ってDeepLink起動もできるけど、コマンドラインの方がサクサク叩ける。
Xcode Command Line Tools設定
以降で使用する xcrun
コマンドの利用のため、もしXcode Command Line ToolsにXcodeアプリが指定されていなければ設定。
[設定場所]
- Xcode
- Preferences
- Locations
- Preferences
iOSシミュレータデバイスのUDID確認
以下のコマンドでインストールされている全てのiOSシミュレータのデバイス一覧が表示できる。
$ xcrun simctl list
ただ、実際は起動中のデバイスでデバッグすると思うので、以下のように起動中のものに絞り込んだ方がUDID確認しやすい。
$ xcrun simctl list | grep Booted iPhone Xʀ (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) (Booted)
DeepLink起動
確認したデバイスのUDIDと、DeepLink起動URLを指定して実行。
$ xcrun simctl openurl XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX yourschema://host/path/to
これを実行すると、対象デバイスのSafariでこのURLを起動しにかかるが、もしそれがDeepLink対象のURLであればアプリの方がそれを引っ掛けてDeepLink起動する。
DeepLinkの種類は「カスタムスキーマ起動」「Universal Links」どちらでも動作する。
終わりに
xcrun
コマンド何気に多機能で色々ハックなこと出来たりしますよね。時間あったらまとめたいですね。(←やらないヤツの言い方)