{
"name": "xcodebuild",
"description": "Build Xcode projects",
"options": [
{
"names": [
"-usage"
],
"description": "Print brief usage"
},
{
"names": [
"-help"
],
"description": "Print complete usage"
},
{
"names": [
"-verbose"
],
"description": "Provide additional status output"
},
{
"names": [
"-license"
],
"description": "Show the Xcode and SDK license agreements"
},
{
"names": [
"-checkFirstLaunchStatus"
],
"description": "Check if any First Launch tasks need to be performed"
},
{
"names": [
"-runFirstLaunch"
],
"description": "Install packages and agree to the license"
},
{
"names": [
"-project"
],
"description": "Build the project NAME",
"takes_arg": true,
"arg": {
"name": "NAME"
}
},
{
"names": [
"-target"
],
"description": "Build the target NAME",
"takes_arg": true,
"arg": {
"name": "NAME"
}
},
{
"names": [
"-alltargets"
],
"description": "Build all targets"
},
{
"names": [
"-workspace"
],
"description": "Build the workspace NAME",
"takes_arg": true,
"arg": {
"name": "NAME",
"template": "filepaths"
}
},
{
"names": [
"-scheme"
],
"description": "Build the scheme NAME",
"takes_arg": true,
"arg": {
"name": "NAME"
}
},
{
"names": [
"-configuration"
],
"description": "Use the build configuration NAME for building each target",
"takes_arg": true,
"arg": {
"name": "NAME"
}
},
{
"names": [
"-xcconfig"
],
"description": "Apply the build settings defined in the file at PATH as overrides",
"takes_arg": true,
"arg": {
"name": "NAME",
"template": "filepaths"
}
},
{
"names": [
"-arch"
],
"description": "Build each target for the architecture ARCH; this will override architectures defined in the project",
"takes_arg": true,
"arg": {
"name": "ARCH",
"suggestions": [
"x86_64",
"arm64",
"armv7"
]
}
},
{
"names": [
"-sdk"
],
"description": "Use SDK as the name or path of the base SDK when building the project",
"takes_arg": true,
"arg": {
"name": "SDK",
"template": "folders"
}
},
{
"names": [
"-toolchain"
],
"description": "Use the toolchain with identifier or name NAME",
"takes_arg": true,
"arg": {
"name": "NAME"
}
},
{
"names": [
"-destination"
],
"description": "Use the destination described by DESTINATIONSPECIFIER (a comma-separated set of key=value pairs describing the destination to use)",
"takes_arg": true,
"arg": {
"name": "DESTINATION SPECIFIER",
"template": "folders"
}
},
{
"names": [
"-destination-timeout"
],
"description": "Wait for TIMEOUT seconds while searching for the destination device",
"takes_arg": true,
"arg": {
"name": "TIMEOUT"
}
},
{
"names": [
"-parallelizeTargets"
],
"description": "Build independent targets in parallel"
},
{
"names": [
"-jobs"
],
"description": "Specify the maximum number of concurrent build operations",
"takes_arg": true,
"arg": {
"name": "NUMBER"
}
},
{
"names": [
"-maximum-concurrent-test-device-destinations"
],
"description": "The maximum number of device destinations to test on concurrently",
"takes_arg": true,
"arg": {
"name": "NUMBER"
}
},
{
"names": [
"-maximum-concurrent-test-simulator-destinations"
],
"description": "The maximum number of simulator destinations to test on concurrently",
"takes_arg": true,
"arg": {
"name": "NUMBER"
}
},
{
"names": [
"-parallel-testing-enabled"
],
"description": "Overrides the per-target setting in the scheme",
"takes_arg": true,
"arg": {
"name": "mode",
"suggestions": [
"YES",
"NO"
]
}
},
{
"names": [
"-parallel-testing-worker-count"
],
"description": "The exact number of test runners that will be spawned during parallel testing",
"takes_arg": true,
"arg": {
"name": "NUMBER"
}
},
{
"names": [
"-maximum-parallel-testing-workers"
],
"description": "The maximum number of test runners that will be spawned during parallel testing",
"takes_arg": true,
"arg": {
"name": "NUMBER"
}
},
{
"names": [
"-dry-run"
],
"description": "Do everything except actually running the commands"
},
{
"names": [
"-quiet"
],
"description": "Do not print any output except for warnings and errors"
},
{
"names": [
"-hideShellScriptEnvironment"
],
"description": "Don't show shell script environment variables in build log"
},
{
"names": [
"-showsdks"
],
"description": "Display a compact list of the installed SDKs"
},
{
"names": [
"-showdestinations"
],
"description": "Display a list of destinations"
},
{
"names": [
"-showTestPlans"
],
"description": "Display a list of test plans"
},
{
"names": [
"-showBuildSettings"
],
"description": "Display a list of build settings and values"
},
{
"names": [
"-showBuildSettingsForIndex"
],
"description": "Display build settings for the index service"
},
{
"names": [
"-list"
],
"description": "Lists the targets and configurations in a project, or the schemes in a workspace"
},
{
"names": [
"-find-executable"
],
"description": "Display the full path to executable NAME in the provided SDK and toolchain",
"takes_arg": true,
"arg": {
"name": "NAME"
}
},
{
"names": [
"-find-library"
],
"description": "Display the full path to library NAME in the provided SDK and toolchain",
"takes_arg": true,
"arg": {
"name": "NAME"
}
},
{
"names": [
"-version"
],
"description": "Display the version of Xcode; with -sdk will display info about one or all installed SDKs"
},
{
"names": [
"-enableAddressSanitizer"
],
"description": "Turn the address sanitizer on or off",
"takes_arg": true,
"arg": {
"name": "mode",
"suggestions": [
"YES",
"NO"
]
}
},
{
"names": [
"-enableThreadSanitizer"
],
"description": "Turn the thread sanitizer on or off",
"takes_arg": true,
"arg": {
"name": "mode",
"suggestions": [
"YES",
"NO"
]
}
},
{
"names": [
"-enableUndefinedBehaviorSanitizer"
],
"description": "Turn the undefined behavior sanitizer on or off",
"takes_arg": true,
"arg": {
"name": "mode",
"suggestions": [
"YES",
"NO"
]
}
},
{
"names": [
"-resultBundlePath"
],
"description": "Specifies the directory where a result bundle describing what occurred will be placed",
"takes_arg": true,
"arg": {
"name": "PATH",
"template": "folders"
}
},
{
"names": [
"-resultStreamPath"
],
"description": "Specifies the file where a result stream will be written to (the file must already exist)",
"takes_arg": true,
"arg": {
"name": "PATH",
"template": "filepaths"
}
},
{
"names": [
"-resultBundleVersion"
],
"description": "Specifies which result bundle version should be used",
"takes_arg": true,
"arg": {
"name": "version"
}
},
{
"names": [
"-clonedSourcePackagesDirPath"
],
"description": "Specifies the directory to which remote source packages are fetch or expected to be found",
"takes_arg": true,
"arg": {
"name": "PATH",
"template": "folders"
}
},
{
"names": [
"-derivedDataPath"
],
"description": "Specifies the directory where build products and other derived data will go",
"takes_arg": true,
"arg": {
"name": "PATH",
"template": "folders"
}
},
{
"names": [
"-archivePath"
],
"description": "Specifies the directory where any created archives will be placed, or the archive that should be exported",
"takes_arg": true,
"arg": {
"name": "PATH",
"template": "folders"
}
},
{
"names": [
"-exportArchive"
],
"description": "Specifies that an archive should be exported"
},
{
"names": [
"-exportNotarizedApp"
],
"description": "Export an archive that has been notarized by Apple"
},
{
"names": [
"-exportOptionsPlist"
],
"description": "Specifies a path to a plist file that configures archive exporting",
"takes_arg": true,
"arg": {
"name": "PATH",
"template": "filepaths"
}
},
{
"names": [
"-enableCodeCoverage"
],
"description": "Turn code coverage on or off when testing",
"takes_arg": true,
"arg": {
"name": "mode",
"suggestions": [
"YES",
"NO"
]
}
},
{
"names": [
"-exportPath"
],
"description": "Specifies the destination for the product exported from an archive",
"takes_arg": true,
"arg": {
"name": "PATH",
"template": "folders"
}
},
{
"names": [
"-skipUnavailableActions"
],
"description": "Specifies that scheme actions that cannot be performed should be skipped instead of causing a failure"
},
{
"names": [
"-exportLocalizations"
],
"description": "Exports completed and outstanding project localizations"
},
{
"names": [
"-importLocalizations"
],
"description": "Imports localizations for a project, assuming any necessary localized resources have been created in Xcode"
},
{
"names": [
"-localizationPath"
],
"description": "Specifies a path to XLIFF localization file",
"takes_arg": true,
"arg": {
"name": "PATH",
"template": "filepaths"
}
},
{
"names": [
"-exportLanguage"
],
"description": "Specifies multiple optional ISO 639-1 languages included in a localization export",
"takes_arg": true,
"arg": {
"name": "languages",
"is_variadic": true
}
},
{
"names": [
"-xcroot"
],
"description": "Specifies a path to a .xcroot to use for building and/or testing",
"takes_arg": true,
"arg": {
"name": "path",
"template": "folders"
}
},
{
"names": [
"-xctestrun"
],
"description": "Specifies a path to a test run specification",
"takes_arg": true,
"arg": {
"name": "path",
"template": "folders"
}
},
{
"names": [
"-testPlan"
],
"description": "Specifies the name of the test plan associated with the scheme to use for testing",
"takes_arg": true,
"arg": {
"name": "test plan"
}
},
{
"names": [
"-only-testing"
],
"description": "Constrains testing by specifying tests to include, and excluding other tests"
},
{
"names": [
"-only-testing:"
],
"description": "Constrains testing by specifying tests to include, and excluding other tests",
"takes_arg": true,
"arg": {
"name": "Test Identifier"
}
},
{
"names": [
"-skip-testing"
],
"description": "Constrains testing by specifying tests to exclude, but including other tests"
},
{
"names": [
"-skip-testing:"
],
"description": "Constrains testing by specifying tests to exclude, but including other tests",
"takes_arg": true,
"arg": {
"name": "Test Identifier"
}
},
{
"names": [
"-test-timeouts-enabled"
],
"description": "Enable or disable test timeout behavior",
"takes_arg": true,
"arg": {
"name": "mode",
"suggestions": [
"YES",
"NO"
]
}
},
{
"names": [
"-default-test-execution-time-allowance"
],
"description": "The default execution time an individual test is given to execute, if test timeouts are enabled",
"takes_arg": true,
"arg": {
"name": "SECONDS"
}
},
{
"names": [
"-maximum-test-execution-time-allowance"
],
"description": "The maximum execution time an individual test is given to execute, regardless of the test's preferred allowance",
"takes_arg": true,
"arg": {
"name": "SECONDS"
}
},
{
"names": [
"-only-test-configuration"
],
"description": "Constrains testing by specifying test configurations to include, and excluding other test configurations"
},
{
"names": [
"-skip-test-configuration"
],
"description": "Constrains testing by specifying test configurations to exclude, but including other test configurations"
},
{
"names": [
"-testLanguage"
],
"description": "Constrains testing by specifying ISO 639-1 language in which to run the tests"
},
{
"names": [
"-testRegion"
],
"description": "Constrains testing by specifying ISO 3166-1 region in which to run the tests"
},
{
"names": [
"-resolvePackageDependencies"
],
"description": "Resolves any Swift package dependencies referenced by the project or workspace"
},
{
"names": [
"-disableAutomaticPackageResolution"
],
"description": "Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file"
},
{
"names": [
"-json"
],
"description": "Output as JSON"
},
{
"names": [
"-allowProvisioningUpdates"
],
"description": "Allow xcodebuild to communicate with the Apple Developer website. For automatically signed targets, xcodebuild will create and update profiles, app IDs, and certificates. For manually signed targets, "
},
{
"names": [
"-allowProvisioningDeviceRegistration"
],
"description": "Allow xcodebuild to register your destination device on the developer portal if necessary. This flag only takes effect if -allowProvisioningUpdates is also passed"
},
{
"names": [
"-scmProvider"
],
"description": "Which implementation to use for Git operations (system/xcode)",
"takes_arg": true,
"arg": {
"name": "Implementation",
"suggestions": [
"system",
"xcode"
]
}
},
{
"names": [
"-showBuildTimingSummary"
],
"description": "Display a report of the timings of all the commands invoked during the build"
},
{
"names": [
"-create-xcframework"
],
"description": "Create an xcframework from prebuilt libraries; -help for more information"
},
{
"names": [
"build"
],
"description": "Build the target in the build root (SYMROOT). This is the default build action"
},
{
"names": [
"installsrc"
],
"description": "Copy the source of the project to the source root (SRCROOT)"
},
{
"names": [
"install"
],
"description": "Build the target and install it into the target's installation directory in the distribution root (DSTROOT)"
},
{
"names": [
"clean"
],
"description": "Remove build products and intermediate files from the build root (SYMROOT)"
}
]
}