CoreDevice
Orientation
Rotate device orientation through CoreDevice device control.
Orientation is a CoreDevice service reached through RSD and RemoteXPC. The client connects to com.apple.coredevice.devicecontrol.
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
[dependencies]
idevice = { version = "0.1.64", features = ["usbmuxd", "rsd", "core_device"] }Service Names
| Path | Value |
|---|---|
| RSD | com.apple.coredevice.devicecontrol |
Rust Example
use idevice::{
RsdService,
core_device::{OrientationServiceClient, RotationDirection},
};
let mut client: OrientationServiceClient<_> = rsd_handshake
.connect(&mut rsd_provider)
.await?;
client.rotate(RotationDirection::Right).await?;CLI Equivalent
idevice-tools rotate left
idevice-tools rotate rightCommon Errors
| Error | What to check |
|---|---|
| RSD service not found | The connected device did not advertise the CoreDevice service name. |
| RemoteXPC error | Check the CoreDevice action and payload shape used by the client. |
| Tunnel unavailable | Create the iOS 17+ tunnel before connecting to CoreDevice services over USB. |