Skip to main content
The device command installs iOS applications to connected devices and manages device pairing records. It supports both .ipa packages and .app bundles.

Usage

plumesign device [OPTIONS]

Device selection

--udid
string
Device UDID to target. If not provided, you’ll be prompted to select from connected devices.Conflicts with --mac.
plumesign device --udid 00008030-001234567890123A --install MyApp.ipa
--mac
boolean
Install to connected Mac instead of iOS device (arm64 Macs only).Conflicts with --udid. Only available on Apple Silicon Macs running macOS.
plumesign device --mac --install MyApp.ipa
If neither --udid nor --mac is specified, you’ll be prompted to select from all connected devices.

Installation

--install
path
Path to app bundle or package to install. Supports both:
  • .ipa package files
  • .app bundle directories
plumesign device --install MyApp.ipa

Pairing record management

--pairing
boolean
Install a pairing record to the device. Requires --pairing-path.Conflicts with --mac.
plumesign device --pairing --pairing-path ~/Documents/pairingFile.plist
--pairing-path
path
Path to the pairing record file (.plist) to install. Required when --pairing is used.
plumesign device --pairing --pairing-path ~/Documents/pairingFile.plist
--pairing-app-identifier
string
Bundle identifier of the app to use for pairing record installation.If not provided, you’ll be prompted to select from installed apps on the device.
plumesign device \
  --pairing \
  --pairing-path ~/Documents/pairingFile.plist \
  --pairing-app-identifier com.company.app

Examples

Install IPA to specific device

plumesign device --udid 00008030-001234567890123A --install MyApp.ipa

Install to Mac

plumesign device --mac --install MyApp.ipa

Install app bundle

plumesign device --install MyApp.app

Interactive device selection

# Prompts you to select from connected devices
plumesign device --install MyApp.ipa

Install pairing record

plumesign device \
  --udid 00008030-001234567890123A \
  --pairing \
  --pairing-path ~/Documents/pairingFile.plist \
  --pairing-app-identifier com.company.app

Install app and pairing record

plumesign device \
  --udid 00008030-001234567890123A \
  --install MyApp.ipa \
  --pairing \
  --pairing-path ~/Documents/pairingFile.plist

Terminal output

$ plumesign device --install MyApp.ipa
Select a device to register and install to
> iPhone 15 Pro (00008030-001234567890123A)
  iPad Pro (00008020-001A2B3C4D5E6F7G)

[2026-03-03T10:15:23Z INFO] Installing app at "MyApp.app" to device iPhone 15 Pro
[2026-03-03T10:15:24Z INFO] 25
[2026-03-03T10:15:25Z INFO] 50
[2026-03-03T10:15:26Z INFO] 75
[2026-03-03T10:15:27Z INFO] 100

Device discovery

The device command automatically discovers connected iOS devices via usbmuxd. On macOS, this works through the built-in usbmuxd service. On Linux and Windows, you may need to install and run usbmuxd separately.

Finding device UDID

You can find a device’s UDID by:
  1. Running plumesign device --install <app> and noting the UDID in the selection prompt
  2. Using Finder on macOS (click on device in sidebar)
  3. Using iTunes on Windows
  4. Using idevice_id -l if you have libimobiledevice installed
Device installation requires the device to be connected via USB and trusted with your computer. You may need to unlock the device and tap “Trust” when prompted.

Build docs developers (and LLMs) love