Как попасть в отладчик для реагирующей на род команды? - PullRequest
0 голосов
/ 18 июня 2019

Я работаю над проектом React Native, в котором я получаю следующую ошибку, если я пытаюсь запустить react-native run-ios, я получаю ошибку Could not find iPhone 6 simulator:

> react-native run-ios
Scanning folders for symlinks in /Users/kurtpeek/mobile/applicant-app/node_modules (16ms)
Found Xcode workspace applicant.xcworkspace

Could not find iPhone 6 simulator

Однако этот симулятор делаетпоявляется, если я запускаю xcrun simctl list --json devices, аналогично тому, что делается в node_modules/react-native/local-cli/runIOS/runIOS.js:

> xcrun simctl list --json devices | grep "\"iPhone 6\"" -B 5 -A 5
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 6",
        "udid" : "93E4D0AF-C267-406B-B8F5-B3B305BEBBF0",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",

Функция runOnSimulator в вышеупомянутом файле читает

function runOnSimulator(xcodeProject, args, scheme) {
  return new Promise((resolve) => {
    try {
      var simulators = JSON.parse(
      child_process.execFileSync('xcrun', ['simctl', 'list', '--json', 'devices'], {encoding: 'utf8'})
      );
    } catch (e) {
      throw new Error('Could not parse the simulator list output');
    }

    const selectedSimulator = findMatchingSimulator(simulators, args.simulator);
    if (!selectedSimulator) {
      throw new Error(`Could not find ${args.simulator} simulator`);
    }

Поэтому яхотел бы установить точку останова отладчика в node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js.Я попытался просто вставить в него оператор debugger, например:

function findMatchingSimulator(simulators, simulatorName) {
  debugger;

  if (!simulators.devices) {
    return null;
  }

, но это не запускает отладчик (как, например, установка import pdb; pdb.set_trace() в Python).Как я могу отладить команды react-native CLI?

1 Ответ

1 голос
/ 18 июня 2019

У вас есть 2 варианта:

  • Обновите систему MacOS и Xcode до последней версии
  • Откройте приложение симулятора /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app до react-native run-ios

Чтобы запустить оператор debugger, вам необходимо:

  • ⌘ + D> Удаленная отладка, откройте Google Chrome на http://localhost:8081/debugger-ui/ и , откройте инструменты JavaScript с помощью ⌘ + ⌥ + J
...