9

付属の./emulatorコマンドをCordova/PhoneGapで使用して、コマンドラインからiPadシミュレーターでアプリを実行したいと思います。

基本的な手順は次のとおりです。

ここからiOSシミュレーターをインストールしました:

ドキュメントには、コマンドラインからのiPadのシミュレーションがサポートされていると記載されています。ただし、デフォルトではiPhoneで開き、デバイスを「iPad」に変更するとアプリが閉じます(ホーム画面にはインストールされません)。iPadをシミュレートするために起動するドキュメントを検索しましたが、見つかりません。

Cordova ./emulatorコマンドを実行してiPadを開くにはどうすればよいですか?

4

3 に答える 3

8

Cordovaスクリプトは、コマンド ラインから直接使用できるコマンドemulateの単なるラッパーです。ios-sim現在の作業ディレクトリがエミュレート スクリプトを含むディレクトリであると仮定すると、次のコマンドを使用して iPad モードのエミュレータでビルドを起動できます。

ios-sim launch ../build/myApp.app --family ipad --stderr console.log --stdout console.log &

以下は間違いなくナイーブですが (私はシェル スクリプトを知りません)、emulateデバイス ファミリを指定できる 2 番目のコマンド ライン パラメーターをサポートするようにスクリプトをハックしました。.appパラメータが指定されていない場合、スクリプトはプロジェクトのファイルへのパスを指定できる最初のパラメータを既に受け入れていることに気付いていないかもしれません。

スクリプトのバージョンを次のように更新します (GitHub フォークはこちら)。

#! /bin/sh
#
# Licensing info removed for brevity
#

set -e

XCODE_VER=$(xcodebuild -version | head -n 1 | sed -e 's/Xcode //')
XCODE_MIN_VERSION="4.5"

if [[ "$XCODE_VER" < "$XCODE_MIN_VERSION" ]]; then
    echo "Cordova can only run in Xcode version $XCODE_MIN_VERSION or greater."
    exit 1
fi

CORDOVA_PATH=$( cd "$( dirname "$0" )" && pwd -P)
PROJECT_PATH="$(dirname "$CORDOVA_PATH")"
XCODEPROJ=$( ls "$PROJECT_PATH" | grep .xcodeproj  )
PROJECT_NAME=$(basename "$XCODEPROJ" .xcodeproj)

APP_PATH=$1
DEVICE_FAMILY=$2

if [ $# -lt 1 ]; then
    APP_PATH="$PROJECT_PATH/build/$PROJECT_NAME.app"
    DEVICE_FAMILY=iphone
fi

if [ ! -d "$APP_PATH" ]; then
    echo "Project '$APP_PATH' is not built. Building."
    $CORDOVA_PATH/build || exit $?
fi

if [ ! -d "$APP_PATH" ]; then
    echo "$APP_PATH not found to emulate."
    exit 1
fi

# launch using ios-sim
if which ios-sim >/dev/null; then
    ios-sim launch "$APP_PATH" --family "$DEVICE_FAMILY" --stderr "$CORDOVA_PATH/console.log" --stdout "$CORDOVA_PATH/console.log" &
else
    echo -e '\033[31mError: ios-sim was not found. Please download, build and install version 1.4 or greater from https://github.com/phonegap/ios-sim into your path. Or "brew install ios-sim" using homebrew: http://mxcl.github.com/homebrew/\033[m'; exit 1;
fi

次に、次のようにスクリプトを実行できます (現在の作業ディレクトリがスクリプトを含む cordova ディレクトリであると仮定します)。

./emulate ../build/myApp.app ipad

常に iPad でテストする予定で、毎回アプリへのパスを指定する必要がない場合は、優先するデバイス ファミリをそのようにスクリプトにハードコーディングし、以前と同じようにエミュレーターを起動することができます。 :

ios-sim launch "$APP_PATH" --family ipad  --stderr "$CORDOVA_PATH/console.log" --stdout "$CORDOVA_PATH/console.log" & 
于 2013-02-07T23:12:40.137 に答える
0

私にとって、ここで言及されているすべてのオプションは機能しませんでした。iPad Retina を表示するには、次のコマンドで呼び出す必要がありました。

``ios-sim launch [DIR_OF_APP]platforms/ios/build/emulator/My-App.app --devicetypeid "com.apple.CoreSimulator.SimDeviceType.iPad-Retina, 8.2"

devicetypeid'sすべてのタイプを取得するにはios-sim showdevicetypes

于 2015-04-06T15:12:56.130 に答える