CoreDevice
App Service
List, launch, uninstall, signal, and inspect apps through CoreDevice.
App Service is a CoreDevice service reached through RSD and RemoteXPC. The client connects to com.apple.coredevice.appservice.
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.appservice |
Rust Example
use idevice::{RsdService, core_device::AppServiceClient};
let mut client: AppServiceClient<_> = rsd_handshake
.connect(&mut rsd_provider)
.await?;
let apps = client.list_apps(false, true, false, false, true).await?;
println!("{apps:#?}");CLI Equivalent
idevice-tools app_service list
idevice-tools app_service launch <bundle-id>Common 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. |