idevice
CoreDevice

Display Stream

Start and stop CoreDevice media display streams.

Display Stream is a CoreDevice service reached through RSD and RemoteXPC. The client connects to com.apple.coredevice.displayservice.

Use It For

  • Connect through the iOS 17+ CoreDevice tunnel.
  • Call the typed CoreDevice client methods.
  • Use the matching tool command when one is registered.

Feature Flag

Cargo.toml
[dependencies]
idevice = { version = "0.1.64", features = ["usbmuxd", "display_stream"] }

Service Names

PathValue
RSDcom.apple.coredevice.displayservice

Rust Example

src/main.rs
use idevice::{RsdService, core_device::DisplayServiceClient};

let mut client: DisplayServiceClient<_> = rsd_handshake
    .connect(&mut rsd_provider)
    .await?;
let status = client.get_media_stream_server_status().await?;
println!("{status:#?}");

CLI Equivalent

The display stream helper exists in tools/src/coredevice_stream.rs, but it is not registered as a top-level command in tools/src/main.rs.

Common Errors

ErrorWhat to check
RSD service not foundThe connected device did not advertise the CoreDevice service name.
RemoteXPC errorCheck the CoreDevice action and payload shape used by the client.
Tunnel unavailableCreate the iOS 17+ tunnel before connecting to CoreDevice services over USB.

Source

On this page