प्रतिक्रियाशील मूल परिवर्तन डिफ़ॉल्ट iOS सिम्युलेटर डिवाइस


158

जब मैं यह कमांड चलाता हूं:

react-native run-ios

मेरा ऐप iPhone6 ​​सिम्युलेटर डिवाइस में डिफ़ॉल्ट रूप से चलता है:

Found Xcode project RN.xcodeproj
Launching iPhone 6 (9.2)...

डिफ़ॉल्ट रूप से मैं एक अलग सिम्युलेटर डिवाइस (जैसे iPhone5s) में ऐप कैसे चला सकता हूं?


Xcode -> उत्पाद -> गंतव्य ??
zipzit

2
मुझे डिफ़ॉल्ट डिवाइस को सेटअप करने का तरीका नहीं पता है, लेकिन चलाने के बाद react-native run-iosआप डिवाइस को बदल सकते हैं Simulator > Hardware > Device > iOS x.x > iPhone 5। यह तब तक काम करेगा जब तक आप सिम्युलेटर छोड़ नहीं देते।
सीलकेज

जवाबों:


396

--simulatorध्वज का उपयोग करके एक सिम्युलेटर निर्दिष्ट करें ।

ये iOS 12.0 के बाद के लिए उपलब्ध डिवाइस हैं:

npx react-native run-ios --simulator="iPhone 5s"
npx react-native run-ios --simulator="iPhone 6"
npx react-native run-ios --simulator="iPhone 6 Plus"
npx react-native run-ios --simulator="iPhone 6s"
npx react-native run-ios --simulator="iPhone 6s Plus"
npx react-native run-ios --simulator="iPhone 7"
npx react-native run-ios --simulator="iPhone 7 Plus"
npx react-native run-ios --simulator="iPhone 8"
npx react-native run-ios --simulator="iPhone 8 Plus"
npx react-native run-ios --simulator="iPhone 11"
npx react-native run-ios --simulator="iPhone 11 Pro"
npx react-native run-ios --simulator="iPhone 11 Pro Max"
npx react-native run-ios --simulator="iPad Pro (9.7-inch)"
npx react-native run-ios --simulator="iPad (7th generation)"
npx react-native run-ios --simulator="iPad Pro (11-inch)"
npx react-native run-ios --simulator="iPad Pro (12.9-inch)"
npx react-native run-ios --simulator="iPad Air (3rd generation)"
npx react-native run-ios --simulator="iPad Pro (11-inch) (1st generation)"

सभी उपलब्ध iOS उपकरणों की सूची बनाएं:

xcrun simctl list devices

वर्तमान में डिफ़ॉल्ट सेट करने का कोई तरीका नहीं है।

रिएक्टिव नेटिव डॉक्स: रनिंग ऑन सिमुलेटर


thnx बहुत मदद की
Lakshaya माहेश्वरी

2
और अगर तुम चाहो; react-native run-ios --simulator="iPad Air"
बुरक टोकक

22
सभी उपलब्ध उपकरणों को देखने के लिए आप यहांxcrun simctl list devices अधिक जानकारी का
बजे

1
यदि आप आईओएस 11 के लिए आईफोन 6 एस, आईओएस 12 के लिए आईफोन 6 एस आदि के लिए एक ही नाम के साथ कई सिम्युलेटर रखते हैं, तो आप एक्सकोड से सिम्युलेटर के लिए विशिष्ट नाम सेट कर सकते हैं -> विंडो -> उपकरण और सिमुलेटर
चिराग पुरोहित

क्यों कई "iPad प्रो" है?
kojow7

48

आप अपनी फ़ाइल के तत्व में एक प्रविष्टि जोड़कर इसके लिए npm का उपयोग कर सकते हैं । उदाहरण के लिएscriptspackage.json

"launch-ios": "react-native run-ios --simulator \"iPad Air 2\""

फिर इसका उपयोग करने के लिए: npm run launch-ios


3
IMHO यह सबसे अच्छा जवाब है क्योंकि यह आपको कोड / संस्करण नियंत्रण में कॉन्फिगर को स्टोर करने की अनुमति देता है। मतलब आपको कमांड लाइन सिंटैक्स को याद रखने की जरूरत नहीं है।
निक

1
मैं इस जवाब से सहमत हूं। आप सिंगलक्वाट के साथ भी प्राप्त कर सकते हैं: "launch-ios": "react-native run-ios --simulator 'iPad Air 2'"
lfkwtz 16

24

यदि आप शिकार करते हैं तो एक परियोजना की स्थापना है:

{project}/node_modules/react-native/local-cli/runIOS/runIOS.js

भीतर कुछ विकल्प module.exportsशामिल हैं:

options: [{ command: '--simulator [string]', description: 'Explicitly set simulator to use', default: 'iPhone 7', }

मेरा लाइन 231 था, बस एक वैध स्थापित सिम्युलेटर पर सेट करें और react-native run-iosइसे चलाएं डिफ़ॉल्ट रूप से उस सिम्युलेटर पर चलेगा।


5
यह वास्तव में काम करता था, हालांकि फ़ाइल {प्रोजेक्ट} / नोड_मॉड्यूल्स / प्रतिक्रिया-मूल / स्थानीय-स्थानीय / clI / runIOS /
Matej Ukmar

महान समाधान। धन्यवाद!
अहमत अरदल

मैं वास्तव में नोड मॉड्यूल फ़ोल्डर के तहत उस मॉड्यूल नहीं है।
अब्दुल सादिक यल्किन

1
हाँ, "runArguments": [ "--simulator", "iPhone 5s" ]मेरे लॉन्च कॉन्फ़िगरेशन को जोड़ने पर पूरी तरह से काम हुआ।
Can Poyrazoğlu

22

आप अपनी ~/.bash_profileफ़ाइल पर एक उपनाम बना सकते हैं :

alias rn-ios="react-native run-ios --simulator \"iPhone 5s (10.0)\""

और फिर बनाए गए उपनाम का उपयोग करके प्रतिक्रिया-मूल चलाएँ:

$ rn-ios


15

1) अपने सिम्युलेटर का नाम बदलें, अगर एक ही नाम के साथ सिम्युलेटर लेकिन अलग-अलग आईओएस संस्करण

Xcode -> Window -> Devices and Simulators -> Simulators.

यहाँ छवि विवरण दर्ज करें

2) अपनी प्रतिक्रिया देशी प्रोजेक्ट फ़ोल्डर खोलें

3) संपादित करें package.json

"scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "flow": "node_modules/.bin/flow",
    "start-iphone6": "react-native run-ios --simulator \"iPhone 6 11.3\""
}

4) npm run start-iphone6


5

जैसा कि इयान एल ने कहा, मैं अपनी स्क्रिप्ट को प्रबंधित करने के लिए एनपीएम का भी उपयोग करता हूं।

उदाहरण:

{
  "scripts": {
    "ios": "react-native run-ios --simulator=\"iPad Air 2\"",
    "devices": "xcrun simctl list devices"
  }
}

इस तरह, मुझे जल्दी से वह मिल सकता है जो मुझे चाहिए:

  1. सभी उपकरणों की सूची बनाएं: npm run devices
  2. डिफ़ॉल्ट सिम्युलेटर चलाएं: npm run ios

3

यहां iOS सिम्युलेटर को बदलने के लिए नया रास्ता है जिसे आपको बस बदलना होगा

default: 'iPhone 6' or something else 

पथ:

<project_root>/node_modules/@react-native-community/cli/build/commands/runIOS/runIOS.js


0

मेरे पास XCode 10.2 के साथ एक मुद्दा था जो सही iOS सिम्युलेटर संस्करण संख्या को निर्दिष्ट करता है, इसलिए उपयोग किया जाता है:

react-native run-ios --simulator='iPhone X (com.apple.CoreSimulator.SimRuntime.iOS-12-1)'

0

यदि आप डिफ़ॉल्ट डिवाइस को बदलना चाहते हैं और केवल प्रतिक्रिया-मूल रन-आईओएस चलाना है, तो आप कीवर्ड "रनियोस" के लिए खोजक में खोज सकते हैं, फिर फ़ोल्डर खोलें और ज़रूरत के अनुसार अपने डिवाइस पर 'index' .js फ़ाइल परिवर्तन 'iphone X' खोलें।

[१]: https://i.stack.imgur.com/BCtR1.png


0

इस कमांड के साथ डिवाइस सूची प्राप्त करें

xcrun simctl list devices

कंसोल

== Devices ==
-- iOS 13.5 --
    iPhone 6s (9981E5A5-48A8-4B48-B203-1C6E73243E83) (Shutdown) 
    iPhone 8 (FC540A6C-F374-4113-9E71-1291790C8C4C) (Shutting Down) 
    iPhone 8 Plus (CAC37462-D873-4EBB-9D71-7C6D0C915C12) (Shutdown) 
    iPhone 11 (347EFE28-9B41-4C1A-A4C3-D99B49300D8B) (Shutting Down) 
    iPhone 11 Pro (5AE964DC-201C-48C9-BFB5-4506E3A0018F) (Shutdown) 
    iPhone 11 Pro Max (48EE985A-39A6-426C-88A4-AA1E4AFA0133) (Shutdown) 
    iPhone SE (2nd generation) (48B78183-AFD7-4832-A80E-AF70844222BA) (Shutdown) 
    iPad Pro (9.7-inch) (2DEF27C4-6A18-4477-AC7F-FB31CCCB3960) (Shutdown) 
    iPad (7th generation) (36A4AF6B-1232-4BCB-B74F-226E025225E4) (Shutdown) 
    iPad Pro (11-inch) (2nd generation) (79391BD7-0E55-44C8-B1F9-AF92A1D57274) (Shutdown) 
    iPad Pro (12.9-inch) (4th generation) (ED90A31F-6B20-4A6B-9EE9-CF22C01E8793) (Shutdown) 
    iPad Air (3rd generation) (41AD1CF7-CB0D-4F18-AB1E-6F8B6261AD33) (Shutdown) 
-- tvOS 13.4 --
    Apple TV 4K (51925935-97F4-4242-902F-041F34A66B82) (Shutdown) 
-- watchOS 6.2 --
    Apple Watch Series 5 - 40mm (7C50F2E9-A52B-4E0D-8B81-A811FE995502) (Shutdown) 
    Apple Watch Series 5 - 44mm (F7D8C256-DC9F-4FDC-8E65-63275C222B87) (Shutdown) 

आईडी के बिना सिम्युलेटर स्ट्रिंग का चयन करें यहां एक उदाहरण है।

iPad प्रो (12.9 इंच) (चौथी पीढ़ी)

अंतिम आदेश

आई - फ़ोन

• आईफोन 6 एस

react-native run-ios --simulator="iPhone 6s"

• आईफोन 8

react-native run-ios --simulator="iPhone 8"

• आईफोन 8 प्लस

react-native run-ios --simulator="iPhone 8 Plus"

• आईफोन 11

react-native run-ios --simulator="iPhone 11"

• iPhone 11 प्रो

react-native run-ios --simulator="iPhone 11 Pro"

• iPhone 11 प्रो मैक्स

react-native run-ios --simulator="iPhone 11 Pro Max"

• iPhone SE (दूसरी पीढ़ी)

react-native run-ios --simulator="iPhone SE (2nd generation)"

आईपैड

• iPad प्रो (9.7 इंच)

react-native run-ios --simulator="iPad Pro (9.7-inch)"

• iPad (7 वीं पीढ़ी)

react-native run-ios --simulator="iPad (7th generation)"

• iPad प्रो (11 इंच) (दूसरी पीढ़ी)

react-native run-ios --simulator="iPad Pro (11-inch) (2nd generation)"

• आईपैड प्रो (12.9 इंच) 4 वीं पीढ़ी

react-native run-ios --simulator="iPad Pro (12.9-inch) (4th generation)"

• आईपैड एयर (तीसरी पीढ़ी)

react-native run-ios --simulator="iPad Air (3rd generation)"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.