कमांड लाइन से सीधे iOS डिवाइस पर प्रतिक्रिया-देशी एप्लिकेशन चलाएं?


104

क्या हम कमांड लाइन से सीधे iOS डिवाइस पर प्रतिक्रिया-मूल अनुप्रयोग चलाना संभव है जैसे हम सिम्युलेटर पर करते हैं react-native run ios --simulator "iPhone 5s"?

जवाबों:


229

निम्नलिखित ने मेरे लिए काम किया (मूल निवासी पर परीक्षण किया गया 0.38और 0.40):

npm install -g ios-deploy
# Run on a connected device, e.g. Max's iPhone:
react-native run-ios --device "Max's iPhone"

यदि आप चलाने का प्रयास करते हैं run-ios, तो आप देखेंगे कि स्क्रिप्ट npm install -g ios-deployनिर्माण के बाद कदम स्थापित करने तक पहुंचने की सिफारिश करता है ।

जबकि विभिन्न आदेशों पर प्रलेखन जो कि प्रतिक्रिया-मूल ऑफ़र थोड़ा स्केच है, यह प्रतिक्रिया-मूल / स्थानीय-क्ली के लिए जाने योग्य है । वहां, आप उपलब्ध सभी आदेशों और उनके द्वारा चलाए जाने वाले कोड को देख सकते हैं - आप इस प्रकार यह पता लगा सकते हैं कि निर्बाध कमांड के लिए स्विच क्या उपलब्ध हैं।


2
यदि आप ऐसा कुछ देख रहे हैं ios deploy does not support the following options: id, तो शायद मेरी तरह आपका iPhone भी iOS बीटा संस्करण चला रहा है और आपको Xcode के बीटा संस्करण का उपयोग करना होगा। कोशिश करें sudo xcode-select -s /Applications/Xcode-beta.app(यह मानते हुए कि आपके पास सही Xcode बीटा ऐप इंस्टॉल है)।
पौलव्स

50
मेरे लिए बस react-native run-ios --deviceकाम किया और ऊपर की कमांड ने नहीं किया
narek

11
यदि आपको दौड़ने के बाद कोई त्रुटि मिलती है npm install -g ios-deploy, तो दौड़ने का प्रयास करें sudo npm install -g ios-deploy --unsafe-perm=true --allow-root
एरिक वीनर

5
ध्यान दें कि आप डिवाइस के यूडीआईडी ​​के साथ एक आईओएस डिवाइस पर रिले कॉन्फ़िगरेशन में मोबाइल एप्लिकेशन चला सकते हैं (आपको गैर-अंग्रेजी वर्ण वाले डिवाइस के नाम के लिए --device विकल्प के साथ एक त्रुटि मिल सकती है:react-native run-ios --udid XXXX --configuration Release
Gürol Canbek

7
हो रही है, ** INSTALLATION SUCCEEDED **लेकिन डिवाइस पर कुछ भी नहीं होता है ... इसका 100% ठीक से जुड़ा हुआ है और Xcode द्वारा मान्यता प्राप्त है। मुख्य उत्तर और टिप्पणियों दोनों की कोशिश की: react-native run-ios --deviceएक ही परिणाम के साथ
ब्लू बॉट

32

पहले अपने कंप्यूटर पर विश्व स्तर पर आवश्यक पुस्तकालय स्थापित करें:

npm install -g ios-deploy

डिवाइस का नाम खोजने के लिए अपने iPhone पर अपनी सेटिंग्स पर जाएं।

फिर इसे नीचे प्रदान करें जैसे:

react-native run-ios --device "______\'s iPhone"

कभी-कभी यह विफल हो जाएगा और इस तरह एक संदेश आउटपुट करेगा:

Found Xcode project ________.xcodeproj
Could not find device with the name: "_______'s iPhone".
Choose one of the following:
______s iPhone Udid: _________

उस यूडिड का उपयोग इस तरह किया जाता है:

react-native run-ios --device --udid 0412e2c230a14e23451699

वैकल्पिक रूप से आप उपयोग कर सकते हैं:

react-native run-ios --device --udid 0412e2c230a14e23451699 -- configuration Release

आपको डिवाइस आईडी कैसे मिलेगी?
संततिलुर

1
ios-

1
मेरे लिए sudo npm install -g ios-deploy --unsafe-perm=trueकाम किया।
जे मेयू

इनपुट डिवाइस usb-> Xcode-> विंडो-> डिवाइसेस और सिमुलेटर-> आइडेंटिफायर यह uuid (udid) है
Giang

@jasonleonhard कैसे ios-deploy -cकाम करता है , यह कमांड लाइन टूल नहीं है? यह होना चाहिए yarn/npm ios-deploy -cया कुछ और, कारण है कि या तो काम नहीं किया
सैम

12

इस कमांड को प्रोजेक्ट रूट डायरेक्टरी में रन करें।

1>। कनेक्टेड रियल डिवाइसेस और सिम्युलेटर के लिए iPhone उपकरणों की सूची । जैसे कि android के लिए adb devices कमांड होते हैं।

xcrun instruments -s devices

2>। इस कमांड का उपयोग करके डिवाइस का चयन करें जिसे आप अपना ऐप चलाना चाहते हैं

डिवाइस नाम का उपयोग करना

react-native run-ios --device "Kool's iPhone"

यूडीआईडी ​​का उपयोग करना

react-native run-ios --device --udid 0412e2c2******51699

प्रतीक्षा करें और विशिष्ट उपकरणों में अपने एप्लिकेशन को चलाने के लिए देखें - K00L;)


1
UDID विधि का उपयोग करते हुए, मुझे त्रुटि मिलती है: "त्रुटि deviceऔर udidविकल्प परस्पर अनन्य हैं"
syumaK

7

आप इस त्रुटि मिलती है ios-deploy@x.x.x preinstall: ./src/scripts/check_reqs.js && xcodebuild ...का उपयोग करते हुएnpm install -g ios-deploy

इसे इस्तेमाल करे। इससे मेरा काम बनता है:

  1. sudo npm uninstall -g ios-deploy
  2. brew install ios-deploy

4

बस कामिल के जवाब में कुछ जोड़ना चाहता था

चरणों का पालन करने के बाद, मुझे अभी भी एक त्रुटि मिली है,

त्रुटि को नाम के साथ डिवाइस नहीं मिल सका: ".... Xr"

डिवाइस नाम से विशेष वर्ण हटाने के बाद ( सेटिंग पर जाएं -> सामान्य -> ​​के बारे में -> नाम )

जैसे: '

इसने काम कर दिया !

आशा है कि यह किसी ऐसे व्यक्ति की मदद करेगा जिसने समान मुद्दे का सामना किया।

के साथ परीक्षण किया गया - प्रतिक्रिया-देशी-क्ली: 2.0.1 | प्रतिक्रिया-मूल: 0.59.8 | VSCode 1.32 | Xcode 10.2.1 | iOS 12.3


मुझे एक समान समस्या मिली क्योंकि एपोस्ट्रोपी वास्तव में एक यूनिकोड राइट सिंगल कोटेशन मार्क था। डिवाइस की सूची से डिवाइस का नाम कॉपी-पेस्ट करने के बाद यह काम किया।
टोम

1

मेरे साथ काम करने लगा

react-native run-ios --device="My’s iPhone"

और ध्यान दें कि आपके iPhone का नाम, apostrophe s 'अलग हो सकता है। मेरा यह उपयोग कर रहा है '


0

दरअसल, पहले बिल्ड के लिए, कृपया इसे Xcode के साथ करें और फिर निम्न तरीके से करें:

  1. brew install ios-deploy
  2. npx react-native run-ios --device

दूसरा कमांड पहले कनेक्टेड डिवाइस पर ऐप चलाएगा ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.