run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
FutureOr run() async {
final shouldRunApp = argResults?['run'] ?? false;
try {
final simulatorPath = await _findSimulatorPath();
final simulators = await _listSimulators(simulatorPath);
if (simulators.isEmpty) {
print('No iOS simulators found. '
'Please create one using Xcode.');
return;
}
_displaySimulators(simulators);
final selectedIndex =
await _getValidSimulatorSelection(simulators.length);
if (selectedIndex == null) {
print('Invalid selection. Operation cancelled.');
return;
}
print('\nLaunching simulator: ${simulators[selectedIndex]}...');
await _launchSimulator(simulators[selectedIndex], shouldRunApp);
} catch (e) {
print('Error: ${e.toString()}');
exit(1);
}
}