Skip to content

pymobiledevice3 notification

Post or observe Darwin notifications via notification_proxy.

post

Post one or more Darwin notifications (notify_post).

pymobiledevice3 notification post [OPTIONS] {names}...

Arguments:

Argument Description
names... [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]
--insecure / --no-insecure Use the insecure relay meant for untrusted clients instead of the trusted channel. [default: no-insecure]
--remotexpc Talk to the notification proxy directly over RemoteXPC instead of tunnelling the lockdown service through its shim. Requires an RSD tunnel (--rsd/--tunnel/--userspace).

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

observe

Subscribe and stream notifications (notify_register_dispatch).

pymobiledevice3 notification observe [OPTIONS] {names}...

Arguments:

Argument Description
names... [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]
--insecure / --no-insecure Use the insecure relay meant for untrusted clients instead of the trusted channel. [default: no-insecure]
--remotexpc Talk to the notification proxy directly over RemoteXPC instead of tunnelling the lockdown service through its shim. Requires an RSD tunnel (--rsd/--tunnel/--userspace).

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

observe-all

Subscribe to all known firmware notifications and stream events.

pymobiledevice3 notification observe-all [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]
--insecure / --no-insecure Use the insecure relay meant for untrusted clients instead of the trusted channel. [default: no-insecure]
--remotexpc Talk to the notification proxy directly over RemoteXPC instead of tunnelling the lockdown service through its shim. Requires an RSD tunnel (--rsd/--tunnel/--userspace).

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

get-state

Read the 64-bit state of one or more Darwin notifications (notify_get_state). iOS 27.2+.

pymobiledevice3 notification get-state [OPTIONS] {names}...

Arguments:

Argument Description
names... [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.

set-state

Set the 64-bit state of a Darwin notification (notify_set_state) and hold it. iOS 27.2+.

The device keeps the state only while this command runs, and resets it to 0 afterwards.

pymobiledevice3 notification set-state [OPTIONS] {name} {state}

Arguments:

Argument Description
name [required]
state [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]
--post / --no-post Also post the notification, so observers pick the new state up. [default: post]

Accepts the connection options: --rsd, --tunnel, --userspace.