Future _listExistingSimulators()

in packages/simulators/lib/simulator_manager.dart [168:190]


  Future<String> _listExistingSimulators(
      int osMajorVersion, int osMinorVersion) async {
    final io.ProcessResult versionResult =
        await io.Process.run('xcrun', ['simctl', 'list']);

    if (versionResult.exitCode != 0) {
      throw Exception('Failed to list iOS simulators.');
    }
    final String output = versionResult.stdout as String;
    // If the requested iOS version simulators exists, there should be a block
    // starting with: `-- iOS osMajorVersion.osMinorVersion --`
    final bool versionCheck =
        output.contains('-- iOS ${osMajorVersion}.${osMinorVersion} --');

    if (!versionCheck) {
      print(output);
      throw Exception(
          'Requested simulator version iOS ${osMajorVersion}.${osMinorVersion} '
          'is not available.');
    }

    return output;
  }