web-dev-qa-db-fra.com

Réaction de modification native du périphérique de simulateur iOS par défaut

Quand j'exécute cette commande:

react-native run-ios

Mon application s'exécute par défaut sur le simulateur iPhone6:

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

Comment puis-je exécuter l'application sur un autre simulateur (tel que iPhone5s) par défaut?

79
Wonka

Spécifiez un simulateur à l'aide de l'indicateur --simulator

Voici les appareils disponibles pour iOS 12.0:

react-native run-ios --simulator="iPhone 5s"
react-native run-ios --simulator="iPhone 6"
react-native run-ios --simulator="iPhone 6 Plus"
react-native run-ios --simulator="iPhone 6s"
react-native run-ios --simulator="iPhone 6s Plus"
react-native run-ios --simulator="iPhone 7"
react-native run-ios --simulator="iPhone 7 Plus"
react-native run-ios --simulator="iPhone 8"
react-native run-ios --simulator="iPhone 8 Plus"
react-native run-ios --simulator="iPhone SE"
react-native run-ios --simulator="iPhone X"
react-native run-ios --simulator="iPhone XR"
react-native run-ios --simulator="iPhone XS"
react-native run-ios --simulator="iPhone XS Max"
react-native run-ios --simulator="iPad Air"
react-native run-ios --simulator="iPad Air 2"
react-native run-ios --simulator="iPad"
react-native run-ios --simulator="iPad Pro"
react-native run-ios --simulator="iPad Pro"
react-native run-ios --simulator="iPad Pro"
react-native run-ios --simulator="iPad Pro"
react-native run-ios --simulator="iPad"

Répertoriez tous les appareils iOS disponibles:

xcrun simctl list devices

Il n'y a actuellement aucun moyen de définir une valeur par défaut.

React Native Docs: Exécution sur simulateur

217
Daniel Basedow

Vous pouvez également utiliser npm pour cela en ajoutant une entrée à l’élément scripts de votre fichier package.json. Par exemple.

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

Ensuite, pour utiliser ceci: npm run launch-ios

33
Ian L

Il y a un paramètre de projet si vous traquez:

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

Au sein de il y a quelques options sous module.exports y compris:

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

Le mien était la ligne 231, définissez-le simplement sur un simulateur installé valide et exécutez react-native run-ios. Il sera exécuté par défaut sur ce simulateur.

17
svarrall

1) Renommez votre simulateur, Si simulateur portant le même nom mais une version iOS différente

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

 enter image description here

2) Ouvrez votre dossier de projet natif de réaction

3) Éditez 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

6
Lijith Vipin

Voici un nouveau chemin pour changer de simulateur iOS, il vous suffit de changer

default: 'iPhone 6' or something else 

Chemin:

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

J'ai développé l'outil CLI pour cela. Vous pouvez simplement taper "rndcli" .et sélectionner le périphérique

https://github.com/nazrdogan/rndcli

1
Nazır Dogan

J'ai eu un problème avec XCode 10.2 en spécifiant le numéro de version correct du simulateur iOS, donc utilisé:

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

Comme Ian L m'a répondu, j'utilise également NPM pour gérer mes scripts.

Exemple:

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

De cette façon, je peux rapidement obtenir ce dont j'ai besoin:

  1. Répertoriez tous les appareils: npm run devices
  2. Exécutez le simulateur par défaut: npm run ios
0
Khairul Anwar