Skip to content

Commit 98747af

Browse files
authored
Update simctl to Xcode 15 (#18)
1 parent 63a65d4 commit 98747af

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

specs/simctl.txt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ Usage: simctl location <device> <action> [arguments]
280280
If neither are specified an interval of 1.0 seconds is used. If both are specified the system picks ones.
281281

282282
Example simulating a direct line between San Francisco and New York City, with updates every km:
283-
set --distance=1000 --speed=260 37.629538,-122.395733 40.628083,-73.768254
283+
start --distance=1000 --speed=260 37.629538,-122.395733 40.628083,-73.768254
284284

285285
Latitude and longitude pairs must be specified using '.' as the decimal separator and ',' as the field separator.
286286

@@ -310,11 +310,11 @@ Usage: simctl pair_activate <pair>
310310

311311
xcrun simctl help pbcopy
312312
Copy standard input onto the device pasteboard.
313-
Usage: simctl pbcopy [-v] <device or "host">
313+
Usage: simctl pbcopy [-v] <device>
314314

315315
xcrun simctl help pbpaste
316316
Print the contents of the device's pasteboard to standard output.
317-
Usage: simctl pbpaste [-v] <device or "host">
317+
Usage: simctl pbpaste [-v] <device>
318318

319319
xcrun simctl help pbsync
320320
Sync the pasteboard content from one pasteboard to another.
@@ -457,6 +457,9 @@ Specifying all will shut down all running devices
457457
xcrun simctl help spawn
458458
Spawn a process by executing a given executable on a device.
459459
Usage: simctl spawn [-w | --wait-for-debugger] [-s | --standalone] [-a <arch> | --arch=<arch>] <device> <path to executable> [<argv 1> <argv 2> ... <argv n>]
460+
-w Start the process suspended.
461+
-s Use a NULL mach bootstrap port, meaning the process cannot connect to other services and does not require a booted device. (deprecated)
462+
-a Specify an architecture (x86_64 or arm64) to use when spawning a universal binary.
460463

461464
The path to the executable is searched using the following rules:
462465
<path> contains no / characters: search the device's $PATH. This is similar to how most shells work, but searches the device's path instead of the host's path.
@@ -649,7 +652,7 @@ Locate, copy, mount, and unmount simulator runtime disk images.
649652
Usage: simctl legacyruntime <operation> <arguments>
650653

651654
Supported Operations:
652-
mount <train-build> [--shadow <path>] [--internal | --customer] [--writable] [--no-mount] [--no-copy] [--print-only] [--max-cache-size <size>] [--cache-path <path>]
655+
mount <train-build> [--shadow <path>] [--internal | --customer] [--writable] [--no-mount] [--no-copy] [--print-only] [--use-nfs | --use-existing <path>] [--max-cache-size <size>] [--cache-path <path>]
653656
Locate a Simulator Runtime for the given train and build, copy the disk image locally, then mount it to make the runtime available to CoreSimulator.
654657

655658
--internal
@@ -669,6 +672,8 @@ Supported Operations:
669672
NOTE: You don't want this.
670673
--use-nfs
671674
By default images are downloaded from NFA. If this is passed in, the image is copied from NFS instead. Note that newer images (as of SkyB) are no longer available via NFS.
675+
--use-existing <path>
676+
By default images are downloaded from NFA. If this is passed in, the image specified at the provided path will be used instead of downloading one.
672677
--no-mount
673678
Copy the image to the cache (if not present), but do not actually mount it. Prints the path of the image as the last line of output.
674679
--print-only
@@ -715,7 +720,7 @@ Supported Operations:
715720
Platform may be iOS, tvOS, or watchOS to select the relevant Xcode-bundled runtime.
716721

717722

718-
update_dyld_shared_cache (<platform> | <train-build>)
723+
update_dyld_shared_cache (<platform> | <train-build> | <path>)
719724
Update the dyld shared cache for a specific runtime.
720725

721726

src/_simctl

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -201,10 +201,9 @@ _options() {
201201

202202
(spawn)
203203
_arguments \
204-
'(-w --wait-for-debugger)'{-w,--wait-for-debugger} \
205-
'(-s --standalone)'{-s,--standalone} \
206-
'(--arch)-a:arch:' \
207-
'(-a)--arch=-:arch:' \
204+
'(-w --wait-for-debugger)'{-w,--wait-for-debugger}'[start the process suspended]' \
205+
'(-s --standalone)'{-s,--standalone}'[use a NULL mach bootstrap port, meaning the process cannot connect to other services and does not require a booted device (deprecated)]' \
206+
'(-a --arch)'{-a,--arch}'[specify an architecture to use when spawning a universal binary]:arch:(x86_64 arm64)' \
208207
'(-): :{FILTER=booted _devices}' \
209208
':path:_files' \
210209
'*::argv:'
@@ -719,6 +718,8 @@ _legacyruntime_arguments() {
719718
'(--customer)--internal[(default) select the internal runtime]' \
720719
'(--internal)--customer[select the customer (public) runtime]' \
721720
'--writable[when mounting the disk image, do not use a shadow file: directly mount the image as writable]' \
721+
'(--use-existing)--use-nfs[copy image from NFS]' \
722+
'(--use-nfs)--use-existing[use image specified at the provided path]:path:_files' \
722723
'--no-mount[copy the image to the cache (if not present), but do not actually mount it]' \
723724
'--no-copy' \
724725
'--print-only[print the path to the image on the network but take no other action]' \
@@ -758,7 +759,7 @@ _legacyruntime_arguments() {
758759

759760
(update_dyld_shared_cache|remove_dyld_shared_cache)
760761
_arguments \
761-
'::platform or train-build:_files'
762+
'::platform or train-build or path:_files'
762763
;;
763764

764765
esac

0 commit comments

Comments
 (0)