Apple development CLI for iOS and macOS

The entire Apple build loop, one tool.

FlowDeck runs xcodebuild under the hood and wraps everything around it: build, run, test, simulators, devices, and logs. Same commands in terminal, CI, or your editor.

The Apple build loop is fragmented

You end up gluing it together yourself.

A typical workflow needs:

  • xcodebuild to compile
  • xcrun simctl to manage simulators
  • xcrun devicectl to run on devices
  • log stream commands to see OSLog output
  • Test flags that change every year
  • Regex to parse the output

That is not a workflow. That is duct tape.

Side by side

What you are doing Apple tools FlowDeck
Discover schemes xcodebuild -list and wait flowdeck context
Run on simulator Find UDID, then xcodebuild, then simctl install flowdeck run -S "iPhone 16"
Run on device xcrun devicectl and manual UDIDs flowdeck run -D "iPhone"
Stream logs log stream with predicates flowdeck logs
Run tests Long -only-testing flags flowdeck test --only LoginTests
Machine output Parse logs with regex --json

One CLI for the whole loop

Apple's tooling:

xcodebuildxcrunsimctldevicectllogxcresulttoolxctrace...

FlowDeck:

contextbuildruntestcleansimulatordevicelogs

Learn once. Use everywhere.

Output you can actually use

Unstructured output:
CompileSwift normal arm64 /Users/dev/MyApp/View.swift
/Users/dev/MyApp/View.swift:42:15: error: cannot convert value...
...hundreds more lines...

Good luck parsing that.

FlowDeck output:
{
  "type": "build_failed",
  "file": "View.swift",
  "line": 42,
  "message": "cannot convert value"
}

Your CI parses it. Your AI agent understands it. You see what matters.

What does not change

Your .xcodeproj and .xcworkspace
Your schemes and build settings
Your signing configuration
Your SPM dependencies
Your test targets

FlowDeck reads your project. It does not own it.

Try the Apple development CLI

7-day free trial. No credit card required.

curl -sSL https://flowdeck.studio/install.sh | sh