2012-12-14 2 views
9

포함 된 ./emulator 명령을 Cordova/PhoneGap과 함께 사용하여 iPad 시뮬레이터에서 명령 줄에서 내 앱을 실행하고 싶습니다. Cordova/PhoneGap 에뮬레이터 명령을 사용하여 iPad 시뮬레이션

기본 지침

현재 위치 : 여기에서 아이폰 OS 시뮬레이터를 설치 한

:

문서는 말을 명령 줄에서 iPad 시뮬레이션을 지원합니다. 그러나 기본적으로 iPhone으로 열리고 장치를 "iPad"로 변경하면 응용 프로그램이 닫히고 홈 화면에는 설치되지 않습니다. 검색했지만 iPad를 시뮬레이션하기 위해 시작할 설명서를 찾을 수 없습니다.

iPad로 열려면 Cordova ./emulator 명령을 어떻게 실행합니까?

+0

http://docs.phonegap.com/en/2.2.0/guide_command-line_index.md.html # Command-Line % 20Usage_ios – F481

+0

고마워, F481,하지만 내 질문에 그 URL에 연결되어 있습니다. 에뮬레이터를 아이 패드로 시작하는 법을 말하지 않는다. –

답변

8

스크립트는 ios-sim 명령의 래퍼이며 명령 줄에서 직접 사용할 수 있습니다. 거기에 에뮬레이트 스크립트로 하나가 현재 작업 디렉토리를한다 가정하면, 다음과 아이 패드 모드에서 에뮬레이터에서 빌드를 실행할 수 있습니다 :

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

을 다음은 의심 할 여지없이 순진하다 (나는 쉘 - 모르는 스크립팅), 나는 emulate 스크립트를 해킹하여 장치 패밀리를 지정할 수있는 두 번째 명령 줄 매개 변수를 지원합니다. 스크립트가 이미 매개 변수가 지정되지 않은 경우 경로를 계산할 때 프로젝트의 .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 

당신은 다음과 같이 스크립트를 실행할 수는 (현재의 작업 디렉토리가 스크립트를 포함하고있는 코르도바 디렉토리입니다 가정) :

항상 iPad에서 테스트 할 때마다 앱의 경로를 지정할 필요가없는 경우 선호하는 기기 제품군을 스크립트에 하드 코딩하고 에뮬레이터를 시작하면됩니다. y로서 OU 이전하고있다 :

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

그것은 당신이 폰갭/코르도바의 이전 버전을 사용하지만, 나를 위해 버전 3.4 다음 작품에 있다고 할 수있다 : 나를 위해

cordova emulate ios --target="iPad" 
+0

문서에 대한 링크가 있습니까? – Asaf

+0

이 방법이 효과가 있지만 iPad 망막과 함께 실행하는 방법을 알고 있습니까? target = "iPad Retina"및 --target = "iPad (Retina)"는 작동하지 않습니다 – StarQuake

+0

는'cordova run ios --target = "ipad (retina)"와 함께 작동합니다. https://github.com/ apache/cordova-ios/blob/7c154550183fc71d13b6c612bad4c5c7c8154dd9/bin/templates/scripts/cordova/run # L84 – jujule

0

모든 언급

``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

을 검색하려면 여기 옵션은 내가 아이 패드 망막을 표시하려면이 명령으로 전화를했다 작동하지 않았다
관련 문제