Device Info & System
Notification Proxy
Post and observe Darwin notification names on the device.
Notification Proxy exposes com.apple.mobile.notification_proxy through NotificationProxyClient. It can post notification identifiers and receive observed notifications.
Use It For
- Observe a notification identifier.
- Post a notification identifier.
- Convert notifications into an async stream.
Feature Flag
[dependencies]
idevice = { version = "0.1.64", features = ["usbmuxd", "notification_proxy"] }Service Names
| Path | Value |
|---|---|
| Lockdown | com.apple.mobile.notification_proxy |
| RSD | com.apple.mobile.notification_proxy.shim.remote |
Rust Example
use idevice::{
IdeviceService,
notification_proxy::NotificationProxyClient,
};
let provider = first_provider().await?;
let mut client = NotificationProxyClient::connect(&provider).await?;
client.observe_notification("com.apple.mobile.lockdown.host_attached").await?;
let notification = client.receive_notification().await?;
println!("{notification:#?}");CLI Equivalent
idevice-tools notification_proxy observe com.apple.mobile.lockdown.host_attached
idevice-tools notification_proxy post com.apple.mobile.lockdown.host_attachedCommon Errors
| Error | What to check |
|---|---|
| Service not found | The device/iOS version does not advertise this service on the selected transport. |
| Connection failed | Check pairing, trust state, and whether the selected provider can reach the device. |
| Permission error | The service requires a device state, entitlement, or developer setting that is not active. |