Skip to main content
FlowDeck CLI supports deploying and running your apps on your Mac (native or Catalyst) and physical Apple devices.

Managing Devices

List All Devices

flowdeck device list
Example output:
macOS
--------------------------------------------------
  💻 [✓] My Mac
     Build and run as native macOS app
  💻 [✓] My Mac Catalyst
     Build and run iOS app via Mac Catalyst

iOS Devices:
--------------------------------------------------
  🔌 [✓] Daniel's iPhone
     OS: iOS 17.2 | Type: iPhone
     UDID: 00008110-000123456789ABCD
     Connection: USB

Found 1 physical devices
Legend:
  • 💻 = Mac target (virtual)
  • 🔌 = USB connection
  • 📡 = Network connection
  • [✓] = Available

Filter by Platform

flowdeck device list --platform iOS

Show Only Available Devices

flowdeck device list --available-only

JSON Output

flowdeck device list --json

Mac Targets

My Mac (Native macOS)

Build and run as a native macOS app:
flowdeck run -D "My Mac"
flowdeck build -D "My Mac"

My Mac Catalyst

Build and run an iOS app on Mac via Mac Catalyst:
flowdeck run -D "My Mac Catalyst"
flowdeck build -D "My Mac Catalyst"
Mac Catalyst requires your iOS app to have SUPPORTS_MACCATALYST = YES in its build settings.
In interactive mode, “My Mac Catalyst” only appears in the target list when your app’s scheme supports Mac Catalyst. FlowDeck detects this automatically by checking the build settings.

Physical Devices

Physical devices (iPhones, iPads, Apple Watches) require a USB connection and proper provisioning.

Install an App

flowdeck device install <UDID> /path/to/MyApp.app

Uninstall an App

flowdeck device uninstall <UDID> com.example.MyApp

Launch an App

flowdeck device launch <UDID> com.example.MyApp

Requirements

Before deploying to a physical device, ensure:
  • Device is connected via USB or USB-C
  • Device is trusted and unlocked
  • Apple Developer account has correct provisioning profiles
  • Device is registered in your Apple Developer account
  • App’s bundle identifier matches your provisioning profile
  • Deployment target is compatible with device’s iOS version

Connection Types

FlowDeck automatically detects:
  • USB - Direct wired connection (most reliable)
  • Network - WiFi network debugging (iOS 14+)
Network debugging requires the device to be on the same WiFi network and previously paired via USB.

Debugging Method

FlowDeck automatically selects the best debugging method:
  • iOS 17+ - Uses devicectl for faster, more reliable debugging
  • iOS 16 and below - Uses ios-deploy for compatibility

Troubleshooting

Device Not Appearing

  1. Ensure the device is unlocked and trusted
  2. Try unplugging and reconnecting the USB cable
  3. Refresh the device list:
flowdeck device list

Code Signing Issues

Check your provisioning profiles and certificates in Xcode’s Preferences > Accounts.

Connection Problems

  • Try a different USB cable
  • Check that the device trusts your Mac
  • For network debugging, ensure both are on the same WiFi network