idevice

Overview

Patterns for building applications on top of idevice.

This section is for application and tooling authors. It covers the core patterns used by the examples in these docs.

  • Providers: choose a device and create connections to it.
  • Services: connect to lockdown services and use service clients.

The short version:

src/main.rs
use idevice::{IdeviceService, afc::AfcClient};

let provider = first_provider().await?;
let mut afc = AfcClient::connect(&provider).await?;

The provider knows how to reach the device. The service client knows which iOS service it needs and how to speak that service's protocol.