runSimLocationRoute function
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);
}