xcrun [--sdk <SDK name>] --find <tool name>
xcrun [--sdk <SDK name>] <tool name> ... tool arguments ...
<tool name> ... tool arguments ...
locate or invoke developer tools from the command-line, without requiring modifying Makefiles or otherwise take inconvenient measures to support multiple Xcode tool chains.
The tool xcode-select(1) is used to set a system default for the active developer directory, and may be overridden by
The SDK which will be searched defaults to the most recent available SDK, and can be specified by
--sdk (which takes precedences over SDKROOT). When used to invoke another tool (as opposed
to simply finding it), xcrun will provide the absolute path to the selected SDK in the SDKROOT environment variable.
--find, as in xcrun [--sdk
--find the name of a tool is required and the tool will be executed with the provided arguments.
When used as the target of a symbolic link, it derives the tool name to use from the name it was invoked under, and then executes that tool.
$CPATHmodified by xcrun to include /usr/local/include when an explicit SDK is not requested via environment variable nor command line argument and neither -nostdinc nor -nostdsysteminc are present.
$DEVELOPER_DIROverrides the active developer directory. When DEVELOPER_DIR is set, its value will be used instead of the sys- tem-wide active developer directory.
$LIBRARY_PATHmodified by xcrun to include /usr/local/lib when an explicit SDK is not requested via environment variable nor command line argument and -Z is not being passed to the linker.
$SDKROOTdefault SDK to be used when looking up tools (some tools may have SDK specific versions). This environment variable is also set by xcrun to be the absolute path to the user provided SDK (either via SDKROOT or the --sdk option), when it is used to invoke a normal developer tool (build tools like xcodebuild or make are exempt from this behavior). For example, if xcrun is used to invoke clang via: xcrun --sdk macosx clang test.c then xcrun will provide the full path to the macosx SDK in the environment variable SDKROOT. That in turn will be used by clang(1) to automatically select that SDK when compiling the test.c file.
$TOOLCHAINSdefault toolchain to be used when looking up tools (for tools which are toolchain specific).
xcrun_log Same as
xcrun_nocache Same as
xcrun_verbose Same as
xcrun --find clang
Finds the path to the clang binary in the default SDK.
xcrun --sdk iphoneos --find texturetool
Finds the path to the texturetool binary in the iOS SDK.
xcrun --sdk macosx --show-sdk-path
Prints the path to the current Mac OS X SDK.
xcrun git status
Locates the git command and then executes it with a single argument ("status").
xcrun simctl delete unavailable
usage: simctl [--setDIAGNOSTICS When xcrun is invoked with the name xcrun, the options --log and --verbose are useful debugging aids. The option --no-cache can be used to bypass cache lookup, but often at a significant cost in performance. When xcrun has taken the place of another tool, the arguments are those of the tool replaced, and the various xcrun options can't be used. In this case, use the specific environment variables instead. SEE ALSO xcodebuild(1), xcode-select(1)
] [--profiles ] ... simctl help [subcommand] Command line utility to control the Simulator For subcommands that require a argument, you may specify a device UDID or the special "booted" string which will cause simctl to pick a booted device. If multiple devices are booted when the "booted" device is selected, simctl will choose one of them. Subcommands: create a new device. clone an existing device. upgrade a device to a newer runtime. delete a device or all unavailable devices. erase a device's contents and settings. pair Create a new watch and phone pair. unpair Unpair a watch and phone pair. pair_activate Set a given pair as active. boot Boot a device. shutdown Shutdown a device. rename Rename a device. getenv Print an environment variable from a running device. openurl Open a URL in a device. addmedia Add photos, live photos, videos, or contacts to the library of a device. install Install an app on a device. uninstall Uninstall an app from a device. get_app_container Print the path of the installed app's container launch Launch an application by identifier on a device. terminate Terminate an application by identifier on a device. spawn Spawn a process by executing a given executable on a device. list List available devices, device types, runtimes, or device pairs. icloud_sync Trigger iCloud sync on a device. pbsync Sync the pasteboard content from one pasteboard to another. pbcopy Copy standard input onto the device pasteboard. pbpaste Print the contents of the device's pasteboard to standard output. help Prints the usage for a given subcommand. io Set up a device IO operation. diagnose Collect diagnostic information and logs. logverbose enable or disable verbose logging for a device xcrun --verbose --log simctl delete unavailable xcrun: note: PATH = '/Volumes/DATA/dgerman/.bin:/Library/Developer/CommandLineTools/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Wireshark.app/Contents/MacOS:/opt/X11/bin:/usr/libexec:/Volumes/DATA/dgerman/.gem/ruby/2.3.0/bin:/usr/local/bin:/Volumes/DATA/usr/local/bin' xcrun: note: SDKROOT = '/' xcrun: note: TOOLCHAINS = '' xcrun: note: DEVELOPER_DIR = '/Applications/Xcode.app/Contents/Developer' xcrun: note: XCODE_DEVELOPER_USR_PATH = '' xcrun: note: xcrun_db = '/var/folders/rr/jvwb6c9j2h18lzc28kzws_940000gn/T/xcrun_db' xcrun: note: xcrun via simctl (xcrun) xcrun: note: database key is: simctl|/||/Applications/Xcode.app/Contents/Developer| xcrun: note: lookup resolved in '/var/folders/rr/jvwb6c9j2h18lzc28kzws_940000gn/T/xcrun_db' : '/Applications/Xcode.app/Contents/Developer/usr/bin/simctl' /Applications/Xcode.app/Contents/Developer/usr/bin/simctl delete unavailable