xcodebuild-axi 0.1.12 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,22 +1,23 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { existsSync, mkdirSync, statSync, writeFileSync } from "node:fs";
3
- import { dirname, resolve } from "node:path";
3
+ import { basename, dirname, resolve } from "node:path";
4
4
  import { AxiError } from "../errors.js";
5
5
  import { resolveProject } from "../context.js";
6
6
  import { requireScheme } from "../scheme.js";
7
7
  import { capturePath, runMetadata } from "../xcodebuild.js";
8
8
  import { parseSettings } from "./settings.js";
9
- import { findDeviceType, findSimulator, listApps, listDeviceTypes, listSimulators, simctl, } from "../simctl.js";
10
- import { byteSize, duration, renderFields, renderHelp, renderList, renderOutput, tildePath, } from "../toon.js";
9
+ import { findDeviceType, findSimulator, listApps, listDeviceTypes, listSimulators, readAppInfo, simctl, } from "../simctl.js";
10
+ import { byteSize, duration, renderFields, renderHelp, renderList, renderOutput, tildePath, truncate, } from "../toon.js";
11
11
  import { getFlag, getIntFlag, hasFlag, positionals, rejectUnknownFlags, } from "../args.js";
12
12
  export const SIM_HELP = `usage: xcodebuild-axi sim [subcommand] [name|udid] [app] [flags]
13
13
  Inspects and drives simulators. With no subcommand, lists the booted ones.
14
- subcommands[18]:
14
+ subcommands[22]:
15
15
  list every available simulator
16
16
  boot <name|udid> boot one, or no-op if it is already booted
17
17
  shutdown <name|udid> shut one down, or no-op if it already is; --all for every booted one
18
18
  erase <name|udid> erase one back to factory state; --all for every shut-down one
19
- apps <name|udid> the apps installed on it; --system to include Apple's
19
+ apps <name|udid> [bundle-id] the apps installed on it, or one in full;
20
+ --system to include Apple's
20
21
  install <name|udid> [path.app] install an app; without a path, the one
21
22
  this project builds for that simulator
22
23
  launch <name|udid> [bundle-id] launch it; without an id, this project's
@@ -34,7 +35,14 @@ subcommands[18]:
34
35
  status-bar <name|udid> [pin|clear] freeze the status bar for a screenshot
35
36
  ui <name|udid> [light|dark|<setting> <value>] read or set appearance,
36
37
  contrast and content size
37
- flags[14]:
38
+ location <name|udid> [lat,lon|scenario|clear] put the device somewhere;
39
+ two or more pairs move it between them
40
+ media <name|udid> <path> [...] add photos, videos or contacts to it
41
+ container <name|udid> [bundle-id] [app|data|groups]
42
+ where an app's files are on this machine
43
+ pasteboard <name|udid> [text] read what is on its pasteboard, or put
44
+ something there
45
+ flags[15]:
38
46
  --runtime <name> filter the list, e.g. "iOS 26.5"
39
47
  --booted list only booted simulators
40
48
  --all apply shutdown or erase to every eligible simulator
@@ -49,6 +57,7 @@ flags[14]:
49
57
  --time <string> with status-bar: the clock, e.g. "9:41"
50
58
  --battery <0-100> with status-bar: the battery level
51
59
  --bars <0-4> with status-bar: wifi and cellular signal strength
60
+ --speed <m/s> with location: how fast to move between waypoints
52
61
  note:
53
62
  install, launch, terminate and uninstall take the app as a path or a bundle
54
63
  id, and work it out from the project in the current directory when it is
@@ -67,6 +76,10 @@ examples:
67
76
  xcodebuild-axi sim privacy "iPhone 17 Pro" grant photos
68
77
  xcodebuild-axi sim status-bar "iPhone 17 Pro" pin
69
78
  xcodebuild-axi sim ui "iPhone 17 Pro" dark
79
+ xcodebuild-axi sim location "iPhone 17 Pro" 37.7749,-122.4194
80
+ xcodebuild-axi sim media "iPhone 17 Pro" fixtures/receipt.png
81
+ xcodebuild-axi sim container "iPhone 17 Pro" data
82
+ xcodebuild-axi sim pasteboard "iPhone 17 Pro" "MyApp-1a2b3c4d"
70
83
  `;
71
84
  export const SIM_FLAGS = [
72
85
  "--runtime",
@@ -83,6 +96,7 @@ export const SIM_FLAGS = [
83
96
  "--time",
84
97
  "--battery",
85
98
  "--bars",
99
+ "--speed",
86
100
  ];
87
101
  const VALUE_FLAGS = [
88
102
  "--runtime",
@@ -93,10 +107,12 @@ const VALUE_FLAGS = [
93
107
  "--time",
94
108
  "--battery",
95
109
  "--bars",
110
+ "--speed",
96
111
  ];
97
112
  export async function simCommand(args) {
98
113
  rejectUnknownFlags(args, "sim", SIM_FLAGS, VALUE_FLAGS);
99
- const [subcommand, target, app, extra] = positionals(args, VALUE_FLAGS);
114
+ const words = positionals(args, VALUE_FLAGS);
115
+ const [subcommand, target, app, extra] = words;
100
116
  switch (subcommand ?? "booted") {
101
117
  case "booted":
102
118
  return listBooted();
@@ -109,7 +125,7 @@ export async function simCommand(args) {
109
125
  case "erase":
110
126
  return erase(args, target);
111
127
  case "apps":
112
- return apps(args, target);
128
+ return apps(args, target, app);
113
129
  case "install":
114
130
  return install(args, target, app);
115
131
  case "launch":
@@ -136,9 +152,17 @@ export async function simCommand(args) {
136
152
  return statusBar(args, target, app);
137
153
  case "ui":
138
154
  return ui(target, app, extra);
155
+ case "location":
156
+ return location(target, words.slice(2), args);
157
+ case "media":
158
+ return media(target, words.slice(2));
159
+ case "container":
160
+ return container(args, target, app, extra);
161
+ case "pasteboard":
162
+ return pasteboard(target, words.slice(2).join(" ") || undefined);
139
163
  default:
140
164
  throw new AxiError(`Unknown sim subcommand '${subcommand}'`, "VALIDATION_ERROR", [
141
- "valid subcommands are list, boot, shutdown, erase, apps, install, launch, terminate, uninstall, create, delete, screenshot, video, open, privacy, push, status-bar, ui",
165
+ "valid subcommands are list, boot, shutdown, erase, apps, install, launch, terminate, uninstall, create, delete, screenshot, video, open, privacy, push, status-bar, ui, location, media, container, pasteboard",
142
166
  ]);
143
167
  }
144
168
  }
@@ -286,8 +310,10 @@ async function erase(args, target) {
286
310
  return renderFields({ sim: `${simulator.name} erased` });
287
311
  }
288
312
  /** What is installed, minus the four dozen apps Apple ships. */
289
- async function apps(args, target) {
313
+ async function apps(args, target, app) {
290
314
  const simulator = await resolveTarget(target, "apps");
315
+ if (app !== undefined)
316
+ return appDetail(simulator, app);
291
317
  const installed = await listApps(simulator.udid);
292
318
  const wanted = hasFlag(args, "--system")
293
319
  ? installed
@@ -314,18 +340,22 @@ async function apps(args, target) {
314
340
  ]);
315
341
  }
316
342
  export function appRow(app) {
317
- // Version and build as one field: TOON quotes `"1.0"` and `"1"` because
318
- // they look like numbers, and two quoted columns cost more than the one
319
- // readable string they add up to.
320
- const version = [app.version, app.build && `(${app.build})`]
321
- .filter((part) => part)
322
- .join(" ");
323
343
  return {
324
344
  app: app.name,
325
345
  bundle_id: app.bundleId,
326
- version: version || "unknown",
346
+ version: versionOf(app),
327
347
  };
328
348
  }
349
+ /**
350
+ * Version and build as one field: TOON quotes `"1.0"` and `"1"` because they
351
+ * look like numbers, and two quoted columns cost more than the one readable
352
+ * string they add up to.
353
+ */
354
+ export function versionOf(app) {
355
+ return ([app.version, app.build && `(${app.build})`]
356
+ .filter((part) => part)
357
+ .join(" ") || "unknown");
358
+ }
329
359
  async function install(args, target, app) {
330
360
  const simulator = await requireBooted(target, "install");
331
361
  const path = app
@@ -624,6 +654,310 @@ async function openUrl(target, url) {
624
654
  }
625
655
  return renderFields({ opened: url, sim: simulator.name });
626
656
  }
657
+ /**
658
+ * One app in full, which is `simctl appinfo`.
659
+ *
660
+ * `listapps` gives a row per app and stops at the bundle; this adds the data
661
+ * container a test writes into, the App Groups it shares, and the four flags
662
+ * that say what kind of app it is. Worth a subcommand of its own only if the
663
+ * list had to be re-read to get here -- so it is the same one, with the app
664
+ * named.
665
+ */
666
+ async function appDetail(simulator, bundleId) {
667
+ const detail = await readAppInfo(simulator.udid, bundleId);
668
+ const kind = [
669
+ detail.firstParty ? "first-party" : undefined,
670
+ detail.appClip ? "app clip" : undefined,
671
+ detail.hidden ? "hidden" : undefined,
672
+ detail.removable ? "removable" : undefined,
673
+ ].filter((word) => word !== undefined);
674
+ return renderOutput([
675
+ renderFields({
676
+ app: detail.name,
677
+ bundle_id: detail.bundleId,
678
+ version: versionOf(detail),
679
+ sim: simulator.name,
680
+ type: detail.type,
681
+ ...(kind.length > 0 ? { kind } : {}),
682
+ bundle: tildePath(detail.path),
683
+ data: tildePath(detail.dataContainer),
684
+ ...(detail.groups.length > 0 ? { groups: detail.groups } : {}),
685
+ }),
686
+ renderHelp([
687
+ `Run \`xcodebuild-axi sim launch "${simulator.name}" ${detail.bundleId}\` to start it`,
688
+ ]),
689
+ ]);
690
+ }
691
+ /**
692
+ * Standard input for the simulator's pasteboard, and standard output back.
693
+ *
694
+ * Reading and writing are the same subcommand because they are the same
695
+ * question asked in two directions, and because `pbcopy`/`pbpaste` as two
696
+ * names only makes sense standing inside a shell that already has both.
697
+ */
698
+ async function pasteboard(simulator_target, text) {
699
+ const simulator = await requireBooted(simulator_target, "paste on");
700
+ if (text === undefined) {
701
+ const { stdout, stderr, exitCode } = await simctl([
702
+ "pbpaste",
703
+ simulator.udid,
704
+ ]);
705
+ if (exitCode !== 0) {
706
+ throw new AxiError(`Could not read the pasteboard on ${simulator.name}`, "UNKNOWN", [firstLine(stderr)]);
707
+ }
708
+ const contents = stdout.replace(/\n$/, "");
709
+ return renderOutput([
710
+ renderFields({
711
+ sim: simulator.name,
712
+ ...(contents.length > 0
713
+ ? { pasteboard: truncate(contents, 2000).text }
714
+ : { pasteboard: "empty" }),
715
+ }),
716
+ renderHelp(contents.length > 0
717
+ ? []
718
+ : [
719
+ `Run \`xcodebuild-axi sim pasteboard "${simulator.name}" "text"\` to put something on it`,
720
+ ]),
721
+ ]);
722
+ }
723
+ const { exitCode, stderr } = await simctl(["pbcopy", simulator.udid], text);
724
+ if (exitCode !== 0) {
725
+ throw new AxiError(`Could not write to the pasteboard on ${simulator.name}`, "UNKNOWN", [firstLine(stderr)]);
726
+ }
727
+ return renderFields({
728
+ pasteboard: truncate(text, 200).text,
729
+ sim: simulator.name,
730
+ characters: text.length,
731
+ });
732
+ }
733
+ /** A `lat,lon` pair, which is how simctl spells a place. */
734
+ const COORDINATE = /^-?\d+(\.\d+)?,-?\d+(\.\d+)?$/;
735
+ /**
736
+ * Where the device thinks it is.
737
+ *
738
+ * One pair sets a location, several move between them, a name runs one of
739
+ * simctl's own scenarios, and nothing at all lists what those are — there is
740
+ * no way to read the current location back, so the list is the only useful
741
+ * thing a bare `sim location` can say.
742
+ */
743
+ async function location(target, places, args) {
744
+ const simulator = await requireBooted(target, "locate");
745
+ if (places.length === 0) {
746
+ const { stdout } = await simctl(["location", simulator.udid, "list"]);
747
+ const scenarios = scenarioNames(stdout);
748
+ return renderOutput([
749
+ renderFields({ sim: simulator.name, scenarios }),
750
+ renderHelp([
751
+ `Run \`xcodebuild-axi sim location "${simulator.name}" 37.7749,-122.4194\` to put it somewhere specific`,
752
+ "simctl reports no current location, so this lists what can be asked for rather than where it is",
753
+ ]),
754
+ ]);
755
+ }
756
+ if (places.length === 1 && places[0] === "clear") {
757
+ await runLocation(simulator, ["clear"]);
758
+ return renderFields({ location: "cleared", sim: simulator.name });
759
+ }
760
+ const coordinates = places.filter((place) => COORDINATE.test(place));
761
+ if (coordinates.length === 0) {
762
+ return runScenario(simulator, places.join(" "));
763
+ }
764
+ if (coordinates.length !== places.length) {
765
+ throw new AxiError("A location is either coordinates or a scenario name and not both", "VALIDATION_ERROR", [
766
+ `xcodebuild-axi sim location "${simulator.name}" 37.7749,-122.4194`,
767
+ `Run \`xcodebuild-axi sim location "${simulator.name}"\` for the scenarios simctl ships`,
768
+ ]);
769
+ }
770
+ const first = coordinates[0];
771
+ if (coordinates.length === 1) {
772
+ await runLocation(simulator, ["set", first]);
773
+ const [latitude, longitude] = first.split(",").map(Number);
774
+ return renderFields({ sim: simulator.name, latitude, longitude });
775
+ }
776
+ // Two or more waypoints is simctl's `start`, which interpolates between
777
+ // them and returns immediately -- the device keeps moving afterwards.
778
+ const speed = getIntFlag(args, "--speed");
779
+ await runLocation(simulator, [
780
+ "start",
781
+ ...(speed !== undefined ? [`--speed=${speed}`] : []),
782
+ ...coordinates,
783
+ ]);
784
+ return renderOutput([
785
+ renderFields({
786
+ location: "moving",
787
+ sim: simulator.name,
788
+ waypoints: coordinates.length,
789
+ speed: `${speed ?? 20}m/s`,
790
+ }),
791
+ renderHelp([
792
+ `Run \`xcodebuild-axi sim location "${simulator.name}" clear\` to stop it`,
793
+ ]),
794
+ ]);
795
+ }
796
+ async function runLocation(simulator, rest) {
797
+ const { exitCode, stderr, stdout } = await simctl([
798
+ "location",
799
+ simulator.udid,
800
+ ...rest,
801
+ ]);
802
+ if (exitCode !== 0) {
803
+ throw new AxiError(`Could not set the location on ${simulator.name}`, "VALIDATION_ERROR", [firstLine(stderr) || firstLine(stdout)]);
804
+ }
805
+ }
806
+ /**
807
+ * A scenario by name. simctl matches it exactly and answers "Could not find
808
+ * scenario", so the list is fetched first to correct the case and to say what
809
+ * the alternatives were.
810
+ */
811
+ async function runScenario(simulator, requested) {
812
+ const { stdout } = await simctl(["location", simulator.udid, "list"]);
813
+ const scenarios = scenarioNames(stdout);
814
+ const match = scenarios.find((name) => name.toLowerCase() === requested.toLowerCase());
815
+ if (match === undefined) {
816
+ throw new AxiError(`simctl has no location scenario called '${requested}'`, "NOT_FOUND", [`scenarios: ${scenarios.join(", ")}`]);
817
+ }
818
+ await runLocation(simulator, ["run", match]);
819
+ return renderOutput([
820
+ renderFields({ location: match, sim: simulator.name }),
821
+ renderHelp([
822
+ `Run \`xcodebuild-axi sim location "${simulator.name}" clear\` to stop it`,
823
+ ]),
824
+ ]);
825
+ }
826
+ /**
827
+ * simctl prints its scenarios as a two-column table with the name repeated as
828
+ * the description, under a header and a row of equals signs.
829
+ */
830
+ export function scenarioNames(stdout) {
831
+ return stdout
832
+ .split("\n")
833
+ .slice(1)
834
+ .map((line) => line.trimEnd())
835
+ .filter((line) => line.length > 0 && !line.startsWith("="))
836
+ .map((line) => line.replace(/\s{2,}.*$/, "").trim())
837
+ .filter((name) => name.length > 0);
838
+ }
839
+ /**
840
+ * Photos, videos and contacts, so a test that needs a full library does not
841
+ * start with a human tapping through the Photos app.
842
+ */
843
+ async function media(target, paths) {
844
+ const simulator = await requireBooted(target, "add media to");
845
+ if (paths.length === 0) {
846
+ throw new AxiError("sim media needs a file to add", "VALIDATION_ERROR", [
847
+ `xcodebuild-axi sim media "${simulator.name}" fixtures/receipt.png`,
848
+ "photos, live photos, videos and vCard contacts are what simctl accepts",
849
+ ]);
850
+ }
851
+ const files = paths.map((path) => resolve(path));
852
+ const missing = files.filter((file) => !existsSync(file));
853
+ if (missing.length > 0) {
854
+ throw new AxiError(missing.length === 1
855
+ ? `No file at ${tildePath(missing[0])}`
856
+ : `${missing.length} of the ${files.length} files are not there`, "NOT_FOUND",
857
+ // One path is already in the message; several are not.
858
+ missing.length === 1 ? [] : missing.map(tildePath));
859
+ }
860
+ const { exitCode, stderr } = await simctl([
861
+ "addmedia",
862
+ simulator.udid,
863
+ ...files,
864
+ ]);
865
+ if (exitCode !== 0) {
866
+ throw new AxiError(`Could not add ${files.length === 1 ? "that file" : "those files"} to ${simulator.name}`, "VALIDATION_ERROR", importComplaints(stderr));
867
+ }
868
+ return renderFields({
869
+ added: files.length,
870
+ sim: simulator.name,
871
+ files: files.map((file) => basename(file)),
872
+ });
873
+ }
874
+ /**
875
+ * simctl reports a rejected file as
876
+ * `Failed to import '<path>', error [<domain>] 22: ... File type unsupported.`
877
+ * and then says "see stderr", which is where the reader already is. The
878
+ * useful half is the filename and the last sentence.
879
+ */
880
+ export function importComplaints(stderr) {
881
+ return stderr
882
+ .split("\n")
883
+ .filter((line) => line.startsWith("Failed to import"))
884
+ .map((line) => {
885
+ const file = line.match(/'([^']+)'/)?.[1];
886
+ const reason = line.split(":").pop()?.trim();
887
+ return file && reason ? `${basename(file)} — ${reason}` : line.trim();
888
+ });
889
+ }
890
+ /** The containers simctl names, plus any App Group identifier. */
891
+ const CONTAINERS = ["app", "data", "groups"];
892
+ /**
893
+ * Where an app's files are on this machine.
894
+ *
895
+ * With no container named, both the ones worth having come back at once: the
896
+ * bundle that was installed and the data directory a test writes into. The
897
+ * alternative is two calls, and the second is always the one that was wanted.
898
+ */
899
+ async function container(args, target, first, second) {
900
+ const simulator = await requireBooted(target, "inspect");
901
+ // `sim container <device> data` and `sim container <device> <id> data` both
902
+ // read naturally, so the container word is recognised wherever it lands.
903
+ const [kind, named] = isContainer(first)
904
+ ? [first, second]
905
+ : [isContainer(second) ? second : undefined, first];
906
+ const bundleId = named ?? (await productOf(args, simulator, "inspect")).bundleId;
907
+ const installed = await listApps(simulator.udid);
908
+ if (!installed.some((entry) => entry.bundleId === bundleId)) {
909
+ throw new AxiError(`'${bundleId}' is not installed on ${simulator.name}`, "NOT_FOUND", [`Run \`xcodebuild-axi sim apps "${simulator.name}"\` to see what is`]);
910
+ }
911
+ if (kind === "groups") {
912
+ const groups = await readContainer(simulator, bundleId, "groups");
913
+ const rows = {};
914
+ for (const line of groups.split("\n")) {
915
+ const [id, path] = line.split("\t");
916
+ if (id && path)
917
+ rows[id] = tildePath(path.trim());
918
+ }
919
+ return renderOutput([
920
+ renderFields({ app: bundleId, sim: simulator.name }),
921
+ Object.keys(rows).length > 0
922
+ ? renderFields(rows)
923
+ : renderFields({ groups: `${bundleId} is in no App Groups` }),
924
+ ]);
925
+ }
926
+ if (kind !== undefined) {
927
+ return renderFields({
928
+ app: bundleId,
929
+ sim: simulator.name,
930
+ [kind === "app" ? "bundle" : kind]: tildePath(await readContainer(simulator, bundleId, kind)),
931
+ });
932
+ }
933
+ return renderOutput([
934
+ renderFields({
935
+ app: bundleId,
936
+ sim: simulator.name,
937
+ bundle: tildePath(await readContainer(simulator, bundleId, "app")),
938
+ data: tildePath(await readContainer(simulator, bundleId, "data")),
939
+ }),
940
+ renderHelp([
941
+ `Run \`xcodebuild-axi sim container "${simulator.name}" ${bundleId} groups\` for its App Group containers`,
942
+ ]),
943
+ ]);
944
+ }
945
+ function isContainer(word) {
946
+ return (word !== undefined &&
947
+ (CONTAINERS.includes(word) || word.startsWith("group.")));
948
+ }
949
+ async function readContainer(simulator, bundleId, kind) {
950
+ const { stdout, stderr, exitCode } = await simctl([
951
+ "get_app_container",
952
+ simulator.udid,
953
+ bundleId,
954
+ kind,
955
+ ]);
956
+ if (exitCode !== 0) {
957
+ throw new AxiError(`${simulator.name} has no ${kind} container for '${bundleId}'`, "NOT_FOUND", [firstLine(stderr)]);
958
+ }
959
+ return stdout.trim();
960
+ }
627
961
  /** The services simctl will grant, revoke or reset. */
628
962
  const PRIVACY_SERVICES = [
629
963
  "all",
@@ -1 +1 @@
1
- {"version":3,"file":"sim.js","sourceRoot":"","sources":["../../../src/commands/sim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim.js","sourceRoot":"","sources":["../../../src/commands/sim.ts"],"names":[],"mappings":"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"}