2012-12-14 14 views
9

iPadシミュレータでコマンドラインからアプリを実行するには、インクルードされた./emulatorコマンドをCordova/PhoneGapで使用します。 Cordova/PhoneGapエミュレータコマンドを使用してiPadをシミュレートする

基本命令

はここにある:私はここからのiOSシミュレータをインストールした

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

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

+0

http://docs.phonegap.com/en/2.2.0/guide_command-line_index.md。html#コマンドライン%20Usage_ios – F481

+0

ありがとう、F481、しかし私は私の質問でそのURLにリンクしました。エミュレータをiPad(iPhoneとは対照的に)として起動する方法については言及していません。 –

答えて

8

Cordova emulateスクリプトは、コマンドラインから直接使用できるios-simコマンドのラッパーです。その中にエミュレートスクリプトで1があなたの現在の作業ディレクトリをされたと仮定すると、次のように計算されたモードでエミュレータでビルドを起動することができます。

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

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

次(GitHubのフォークhere)とスクリプトのバージョンを更新します。

:あなたは、この(あなたの現在の作業ディレクトリは、スクリプトを含むコルドバのディレクトリであると仮定し)のようなスクリプトを実行することができます

#! /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 

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

いつもiPadでテストしていて、毎回アプリのパスを指定したくない場合は、好きなデバイスファミリをスクリプトにハードコードしてエミュレータを起動するだけですyとしてOUは、以前やっています

ios-sim launch "$APP_PATH" --family ipad --stderr "$CORDOVA_PATH/console.log" --stdout "$CORDOVA_PATH/console.log" & 
18

をそれはあなたがPhoneGapの/コルドバの旧バージョンを使用していたということが、私にとっては、バージョン3.4で、次の作品があります。

私にとって
cordova emulate ios --target="iPad" 
+0

にはドキュメントへのリンクがありますか? – Asaf

+0

これは機能しますが、iPadの網膜をどのように走らせるのか知っていますか? "target =" iPad Retina "と--target =" iPad(Retina) "は動作しないようです。 – StarQuake

+0

は' cordo run ios --target = "ipad(retina)"と表示されますhttps://github.com/ apache/cordova-ios/blob/7c154550183fc71d13b6c612bad4c5c7c8154dd9/bin/templates/scripts/cordova/run#L84 – jujule

0

すべての言及しますここでのオプションは動作しませんでした、私はiPadの網膜表示するには、このコマンドでそれを呼び出す必要がありました:すべてのdevicetypeid'sタイプios-sim showdevicetypesを取得するには

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

関連する問題