runSimLocationRoute function

Future<SimLocationResult> runSimLocationRoute(
  1. SimLocationRouteInput input
)

Starts a built-in location scenario (e.g. "City Run", "Freeway Drive").

Never throws; all error conditions are represented as sealed result cases.

Implementation

Future<SimLocationResult> runSimLocationRoute(SimLocationRouteInput input) async {
  final resolved = await resolveSimulatorDevice(deviceOverride: input.deviceOverride);
  if (resolved.error != null) {
    return SimLocationFailed(resolved.error!);
  }
  final device = resolved.udid!;
  final error = await runSimctl(['location', device, 'run', input.scenario]);
  if (error != null) {
    return SimLocationFailed(error);
  }
  return SimLocationRouteStarted(scenario: input.scenario);
}