Как указать конкретный симулятор для iOS?

#ios #macos #react-native #vscode-settings

#iOS #macos #react-native #visual-studio-code

Вопрос:

я использую расширение кода Visual Studio «React Native Tools» для запуска и создания моего приложения react native на симуляторе / устройстве.

Есть ли способ указать версию симулятора, например, для «iPhone X Max»?

В настоящее время, когда я запускаю свою конфигурацию сборки для «Debug iOS», симулятор «iPhone X» запускается автоматически.

Вот мой launch.json:

 {
"version": "0.2.0",
"configurations": [

    {
        "name": "Debug iOS",
        "program": "${workspaceRoot}/.vscode/launchReactNative.js",
        "type": "reactnative",
        "request": "launch",
        "platform": "ios",
        "sourceMaps": true,
        "target": "simulator",
        "outDir": "${workspaceRoot}/.vscode/.react"
    }, 
    {
        "name": "Debug iOS device",
        "program": "${workspaceRoot}/.vscode/launchReactNative.js",
        "type": "reactnative",
        "request": "launch",
        "platform": "ios",
        "sourceMaps": true,
        "target": "device",
        "outDir": "${workspaceRoot}/.vscode/.react"
    }, 
    {
        "name": "Debug Android",
        "program": "${workspaceRoot}/.vscode/launchReactNative.js",
        "type": "reactnative",
        "request": "launch",
        "platform": "android",
        "sourceMaps": true,
        "target": "simulator",
        "outDir": "${workspaceRoot}/.vscode/.react"
    }

]}
  

Ответ №1:

Я нашел решение.

Просто добавил это

«runArguments»: [«—simulator», «iPhone Xs Max»]

к моей конфигурации запуска в launch.json

Вот как это выглядит сейчас:

 {
"version": "0.2.0",
"configurations": [

    {
        "name": "Debug iOS",
        "program": "${workspaceRoot}/.vscode/launchReactNative.js",
        "type": "reactnative",
        "request": "launch",
        "platform": "ios",
        "sourceMaps": true,
        "target": "simulator",
        "runArguments": ["--simulator", "iPhone Xs Max"],
        "outDir": "${workspaceRoot}/.vscode/.react"
    }, 
    {
        "name": "Debug iOS device",
        "program": "${workspaceRoot}/.vscode/launchReactNative.js",
        "type": "reactnative",
        "request": "launch",
        "platform": "ios",
        "sourceMaps": true,
        "target": "device",
        "outDir": "${workspaceRoot}/.vscode/.react"
    }, 
    {
        "name": "Debug Android",
        "program": "${workspaceRoot}/.vscode/launchReactNative.js",
        "type": "reactnative",
        "request": "launch",
        "platform": "android",
        "sourceMaps": true,
        "target": "simulator",
        "outDir": "${workspaceRoot}/.vscode/.react"
    }

]}
  

Ответ №2:

Вы можете указать симулятор в самом целевом ключе:

 {
    "name": "Debug iOS",
    "program": "${workspaceRoot}/.vscode/launchReactNative.js",
    "type": "reactnative",
    "request": "launch",
    "platform": "ios",
    "sourceMaps": true,
    "target": "iPhone Xs Max",
    "outDir": "${workspaceRoot}/.vscode/.react"
}
  

Ссылка:

  1. VSCode React Native — репозиторий GitHub
  2. Настройка среды отладки — Руководство

Комментарии:

1. Спасибо, я только что опубликовал решение, которое я нашел, вы можете проверить его ниже. Ваша конфигурация также будет работать, но у вас ошибка с именем iPhone simulator. Это должно быть «iPhone Xs Max» вместо «iPhone XS Max».

2. Я отмечаю ваше предложение как ответ, потому что это самое чистое решение. 🙂

Ответ №3:

Добавление --simulator "deviceName" в react-native run-ios позволит вам выбрать симулятор.

Это для iPhone XS Max

 react-native run-ios --simulator "iPhone XS Max"
  

Комментарии:

1. я не запускаю свое приложение с терминала. Я спрашиваю, как указать эту версию симулятора в launch.json config, потому что я использую инструменты React Native.

2. Я не знаю, о чем вы говорите, но, в любом случае, почему бы вам не открыть терминал и не запустить эту команду? В любом случае, в VSCode вы можете открывать терминалы с помощью сочетания клавиш CTRL ^, а затем запускать эту команду.

3. Это не отвечает на мой вопрос. В любом случае я нашел решение и опубликую его позже.

4. Хорошо, я понял! Я рад, что вы нашли решение

5. Вы можете найти его ниже.