FlowDeck provides full access to xcodebuild’s capabilities through custom arguments and environment variables. You can configure builds using three methods.Documentation Index
Fetch the complete documentation index at: https://flowdeck.studio/docs/llms.txt
Use this file to discover all available pages before exploring further.
Methods Overview
| Method | Best For | Priority |
|---|---|---|
| CLI Options | Quick one-off builds, testing flags | Highest |
| Legacy Local Build Settings | Compatibility with older project setups | Medium |
| Config File | CI/CD, reproducible builds | Lowest |
Preferred Project Settings Format
For shared project settings, prefer storing xcodebuild passthrough values in:.flowdeck/config.json.flowdeck/config.local.json
xcodebuild block for project-wide defaults, and schemes.<scheme>.xcodebuild for per-scheme overrides.
CLI Options
Xcodebuild Arguments
Use--xcodebuild-options to pass arguments to xcodebuild:
Xcodebuild Environment
Use--xcodebuild-env to set environment variables for the build:
Combining Options
All options can be combined:Works with All Commands
Legacy Local Build Settings
Create.flowdeck/build-settings.json in your project root for settings that apply to all FlowDeck commands automatically:
Prefer
.flowdeck/config.json or .flowdeck/config.local.json for new setup. Keep .flowdeck/build-settings.json only when you need compatibility with older workflows.Structure
| Field | Type | Description |
|---|---|---|
args | array | Arguments appended to xcodebuild command line |
env | object | Environment variables set for xcodebuild process |
Config File
Include xcodebuild settings in your--config JSON file:
--config uses the explicit command config format, which is separate from .flowdeck/config.json and .flowdeck/config.local.json. See Configuration File for the difference.Priority and Merging
When arguments come from multiple sources, they’re combined in this order:- Config file (lowest priority) - base configuration
- Local build-settings.json - compatibility override for current CLI auto-load behavior
- CLI options (highest priority) - appended last, takes effect
Common Arguments Reference
Build Settings
| Argument | Description |
|---|---|
ONLY_ACTIVE_ARCH=YES | Build only for active architecture (faster debug builds) |
ONLY_ACTIVE_ARCH=NO | Build for all architectures (required for distribution) |
CODE_SIGN_IDENTITY=- | Disable code signing |
CODE_SIGNING_REQUIRED=NO | Skip code signing requirement |
GCC_TREAT_WARNINGS_AS_ERRORS=YES | Fail build on C/Obj-C warnings |
SWIFT_TREAT_WARNINGS_AS_ERRORS=YES | Fail build on Swift warnings |
Xcodebuild Flags
| Flag | Description |
|---|---|
-quiet | Suppress most xcodebuild output |
-enableCodeCoverage YES | Enable code coverage collection |
-resultBundlePath <path> | Save test results to xcresult bundle |
-allowProvisioningUpdates | Allow automatic provisioning updates |
-allowProvisioningDeviceRegistration | Allow automatic device registration |
-parallel-testing-enabled YES | Enable parallel test execution |
-parallel-testing-worker-count <n> | Number of parallel test workers |
Compiler Flags
| Argument | Description |
|---|---|
OTHER_SWIFT_FLAGS=<flags> | Additional Swift compiler flags |
OTHER_CFLAGS=<flags> | Additional C compiler flags |
OTHER_LDFLAGS=<flags> | Additional linker flags |
Environment Variables
Set environment variables for the xcodebuild process:Via CLI
In Local Settings
In Config File
Common Environment Variables
| Variable | Description |
|---|---|
CI | Indicates CI environment (affects some Xcode behaviors) |
DEVELOPER_DIR | Override Xcode installation path |
XCODE_XCCONFIG_FILE | Path to custom xcconfig file |
The canonical shared project-settings format is
xcodebuild inside .flowdeck/config.json or .flowdeck/config.local.json. The separate build-settings.json file remains a legacy compatibility input.Use Cases
Code Coverage
Code Coverage
Parallel Testing
Parallel Testing
CI Build (No Code Signing)
CI Build (No Code Signing)
Use Different Xcode Version
Use Different Xcode Version
.flowdeck/build-settings.json:Strict Warnings
Strict Warnings
Address Sanitizer
Address Sanitizer
Quiet Build with Coverage (CI)
Quiet Build with Coverage (CI)
Viewing the Final Command
Use--dry-run to see the complete xcodebuild command with all arguments without executing:
--verbose to see the command during actual execution:
Troubleshooting
Values Starting with Dash
Use= syntax when values start with -:
Build Settings Format
UseKEY=VALUE format (no spaces around =):
