Skip to content

pymobiledevice3 mounter

Mount, unmount and inspect the DeveloperDiskImage (DDI) needed by developer commands.

list

List the disk images currently mounted on the device.

pymobiledevice3 mounter list [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

lookup

Print the signature of the mounted image of the given type, if one is mounted.

pymobiledevice3 mounter lookup [OPTIONS] {image_type}

Arguments:

Argument Description
image_type Image type to look up: Developer (iOS < 17) or Personalized (iOS 17+). [required]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

umount-developer

Unmount the classic DeveloperDiskImage (iOS < 17).

pymobiledevice3 mounter umount-developer [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

umount-personalized

Unmount the personalized DeveloperDiskImage (iOS 17+).

A DDI installed as a cryptex (see cryptex list) is removed with cryptex uninstall com.apple.MobileAsset.DDI instead.

pymobiledevice3 mounter umount-personalized [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

mount-developer

Mount a classic DeveloperDiskImage from local files (iOS < 17).

Requires Developer Mode on iOS 16. Most users want auto-mount instead.

pymobiledevice3 mounter mount-developer [OPTIONS] {image} {signature}

Arguments:

Argument Description
image DeveloperDiskImage.dmg file. [required]
signature Matching DeveloperDiskImage.dmg.signature file. [required]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

mount-personalized

Mount a personalized DeveloperDiskImage from local files (iOS 17+).

Reuses a personalization ticket already stored on the device, otherwise requests one from Apple's signing server (needs Internet). Requires Developer Mode. Most users want auto-mount instead.

pymobiledevice3 mounter mount-personalized [OPTIONS] {image} {trust_cache} {build_manifest}

Arguments:

Argument Description
image Personalized image file (Image.dmg). [required]
trust_cache Trust cache shipped with the image (e.g. Image.trustcache). [required]
build_manifest BuildManifest.plist shipped with the image. [required]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

auto-mount

Download (if needed) and mount the right DeveloperDiskImage for the device.

Picks the image by iOS version and downloads it when it is not available locally; iOS 17+ images are personalized for the device through Apple's signing server (needs Internet). Requires Developer Mode.

Exits non-zero when no image could be mounted. An image that is already mounted is what was asked for, so that succeeds -- scripts can run this unconditionally before developer commands.

pymobiledevice3 mounter auto-mount [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
-x, --xcode <directory> iOS < 17 only: Xcode.app to take the DeveloperDiskImage from (default: /Applications/Xcode.app, falling back to a download cache in the home folder).
--version <str> iOS < 17 only: DeveloperDiskImage version (major.minor) to use instead of the device's iOS version.
--image <cryptex\|personalized-dmg> iOS 17+ only: force this DeveloperDiskImage instead of choosing one by iOS version (cryptex from iOS 27, personalized-dmg below it)

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

query-developer-mode-status

Print whether Developer Mode is enabled, as reported by the image mounter.

pymobiledevice3 mounter query-developer-mode-status [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

query-nonce

Print the personalization nonce used to sign images for this device.

pymobiledevice3 mounter query-nonce [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
--image-type <str> Personalized image type to query the nonce for (e.g. DeveloperDiskImage); omitted or unrecognized, the device returns its default nonce.

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

query-personalization-identifiers

Print the identifiers used to personalize images for this device (board ID, chip ID, ...).

pymobiledevice3 mounter query-personalization-identifiers [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

query-personalization-manifest

Print the personalization manifest (IM4M) of each mounted personalized image.

pymobiledevice3 mounter query-personalization-manifest [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

roll-personalization-nonce

Ask the device to generate a new personalization nonce.

pymobiledevice3 mounter roll-personalization-nonce [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

roll-cryptex-nonce

Ask the device to generate a new cryptex nonce (the device reboots).

pymobiledevice3 mounter roll-cryptex-nonce [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.