async boot(udid, deviceBootArgs = '', headless = false) {
    const isBooted = await this.isBooted(udid);

    if (isBooted) {
      return false;
    }

    const statusLogs = { trying: `Booting device ${udid}...` };
    await this._execSimctl({ cmd: `boot ${udid} ${deviceBootArgs}`, statusLogs, retries: 10 });
    await this._execSimctl({ cmd: `bootstatus ${udid}`, retries: 1 });

    if (!headless) {
      await this._openSimulatorApp(udid);
    }

    return true;
  }
Boots the simulator if it is not booted already.

@param {String} udid iOS Simulator UDID.
@param {String} deviceBootArgs simctl boot command arguments.
@param {Boolean} headless If false, opens the Simulator app after the Simulator has booted.
@returns {Promise<boolean>} true, if device has been booted up from the shutdown state.