2012-12-14 38 views
9

का उपयोग करके आईपैड अनुकरण करें मैं कमांड लाइन से आईपैड सिम्युलेटर में अपना ऐप चलाने के लिए कॉर्डोवा/फोनगैप के साथ शामिल ./emulator कमांड का उपयोग करना चाहता हूं।कॉर्डोवा/फोनगैप एमुलेटर कमांड

बुनियादी निर्देश यहां हैं:

मैं यहाँ से आईओएस सिम्युलेटर स्थापित किया है:

प्रलेखन कहते हैं कि यह कमांड लाइन से एक आईपैड अनुकरण करने का समर्थन करता है। हालांकि, यह डिफ़ॉल्ट रूप से आईफोन पर खुलता है और डिवाइस को "आईपैड" में बदलना ऐप बंद करता है (और यह होम स्क्रीन पर स्थापित नहीं है)। मैंने खोज की है लेकिन आईपैड अनुकरण करने के लिए लॉन्च करने के लिए प्रलेखन नहीं मिल रहा है।

मैं आईपैड पर खोलने के लिए कॉर्डोवा ./emulator कमांड कैसे चला सकता हूं?

+0

http://docs.phonegap.com/en/2.2.0/guide_command-line_index.md।एचटीएमएल # कमांड लाइन% 20Usage_ios – F481

+0

धन्यवाद, एफ 481, लेकिन मैंने अपने प्रश्न में उस यूआरएल से लिंक किया। यह नहीं कहता कि एमुलेटर को आईपैड के रूप में लॉन्च कैसे करें (एक आईफोन के विपरीत)। –

उत्तर

8

कॉर्डोवा emulate स्क्रिप्ट ios-sim कमांड के लिए सिर्फ एक रैपर है जिसे आप सीधे कमांड लाइन से उपयोग कर सकते हैं। उस में अनुकरण स्क्रिप्ट के साथ एक अपने वर्तमान कार्यशील निर्देशिका मानते हुए है, तो आप अपने निर्माण एमुलेटर में आईपैड मोड में निम्नलिखित के साथ शुरू कर सकते हैं:

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

निम्नलिखित निस्संदेह अनुभवहीन है (मैं shell- पता नहीं है स्क्रिप्टिंग), लेकिन मैंने दूसरे कमांड लाइन पैरामीटर का समर्थन करने के लिए 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 

फिर आप इस तरह स्क्रिप्ट चला सकते हैं (मान लिया गया है अपने वर्तमान कार्यशील निर्देशिका कॉर्डोबा लिपियों युक्त निर्देशिका है):

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

आप हमेशा iPad पर परीक्षण करने के लिए जा रहे हैं और आप अपने ऐप में हर बार पथ निर्दिष्ट करने के लिए नहीं करना चाहते हैं, तो आप सिर्फ अपनी पसंद के उपकरण परिवार लिपि में इतनी तरह हार्डकोड और एमुलेटर लांच कर सकता है वाई के रूप में कहां पहले से कर रहे हैं:

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

यह काम करता है, लेकिन क्या आप जानते हैं कि आईपैड रेटिना के साथ कैसे चलना है? लक्ष्य = "आईपैड रेटिना" और - लक्ष्य = "आईपैड (रेटिना)" काम नहीं लग रहा है – StarQuake

+0

'कॉर्डोवा रन ios --target = "ipad (रेटिना)" के साथ यहां काम करता है "देखें https://github.com/ सभी उपलब्ध छवियां प्राप्त करने के लिए अपाचे/कॉर्डोवा-आईओएस/ब्लॉब/7 सी 154550183 एफसी 71 डी 13 बी 6 सी 612bad4c5c7c8154dd9/bin/templates/स्क्रिप्ट/कॉर्डोवा/रन # 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

प्राप्त करने के लिए