1. ホーム
  2. ios

[解決済み] Cordova: 特定の iOS エミュレータイメージを起動する

2022-07-19 01:07:06

質問

Cordova を使ってクロスプラットフォームのモバイルアプリを開発していますが、開発段階では主に iOS にフォーカスしています。

私の開発プロセスでは、コマンド ラインから直接 Cordova アプリを起動して、指定されたエミュレーターに読み込ませることができれば理想的です。これは、プロジェクトのルート ディレクトリから次のように実行することで実現できます。

$cordova run --debug --emulator iOS

これは問題なく動作し、iOS 7.0.3 を搭載した iPhone 4 Retina で iOS シミュレータが私のアプリを実行する結果になりました。

このシミュレートされたデバイスに加えて、私は (たとえば) iPad でもテストしたいと思っています。これらのエミュレーション画像をインストールし、Xcode で私のアプリを手動で起動することができます。また、コマンド list-emulator-images (にある)。 project_dir/platforms/ios/cordova/lib ) は次のような出力をします。

"iPhone Retina (3.5-inch)"
"iPhone Retina (4-inch)"
"iPhone Retina (4-inch 64-bit)"
"iPhone"
"iPad"
"iPad Retina"

しかし、問題は、デフォルト以外の方法でエミュレータを起動する方法がわからないことです。 iPhone Retina (4-inch) エミュレーション画像と思われます)。の関連する出力は cordova help は次のような情報を与えます。

run [--debug|--release]
    [--device|--emulator|--target=FOO]
    [PLATFORM] ............................ deploys app on specified platform devices / emulators

のようなものを試してみました。

cordova run --debug --emulator=iPad iOS

と、いろいろなバリエーションがありますが、ダメです。毎回、同じエミュレータで起動します。

ドキュメント はこの点に関する情報を提供していませんし、広範囲に及ぶ Google 検索も何も見つけることができませんでした。何か些細なことを見逃しているのでしょうか。あるいは、私が何か奇妙なことをしようとしているのでしょうか?私は本当にここに誰かがこれについての経験を持っていて、いくつかの答えを提供することができます願っています。

前もってどうもありがとうございました。

edit: 明確に言及するのを忘れました。私はこれをすべて Mac 上で行っています。先に述べたように、Xcode で異なるエミュレーター/シミュレーターでアプリを実行すると、うまくいきます。

どのように解決するのですか?

利用可能なシミュレータの画像が何であるかを調べるには、それらを一覧表示するために使用することができます。

$ cordova emulate ios --list
Available iOS Virtual Devices:
    iPhone-4s, 9.3
    iPhone-5, 9.3
    iPhone-5s, 9.3
    iPhone-6, 9.3
    iPhone-6-Plus, 9.3
    iPhone-6s, 9.3
    iPhone-6s-Plus, 9.3
    iPad-2, 9.3
    iPad-Retina, 9.3
    iPad-Air, 9.3
    iPad-Air-2, 9.3
    iPad-Pro, 9.3

次に、-target パラメータでシミュレータ名のいずれかを使用します。

cordova emulate ios --target="iPhone-4s, 9.3"
cordova emulate ios --target="iPad-Air-2, 9.3"
cordova emulate ios --target="iPhone-6s, 9.3"
cordova emulate ios --target="iPhone-6-Plus, 9.3"

重要 別のターゲットシミュレータを起動する前にシミュレータを終了してください(メニューバーで Simulator->Quit )

3.5 インチから 4 インチの iPhone に切り替えるには、メニューから iOS シミュレータを終了する必要がある場合があることを考慮してください。

ダイナミックリストは platforms/ios/cordova/lib/list-emulator-images