idevice
Device Info & System

AMFI

Control developer mode prompts and app signer trust through AMFI lockdown service.

AMFI exposes com.apple.amfi.lockdown through AmfiClient. The client covers developer mode UI, developer mode state, and app signer trust.

Use It For

  • Reveal the developer mode option in Settings.
  • Enable or accept developer mode.
  • Read developer mode status.
  • Trust an app signer UUID.

Feature Flag

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

Service Names

PathValue
Lockdowncom.apple.amfi.lockdown
RSDcom.apple.amfi.lockdown.shim.remote

Rust Example

src/main.rs
use idevice::{
    IdeviceService,
    amfi::AmfiClient,
};

let provider = first_provider().await?;
let mut client = AmfiClient::connect(&provider).await?;
let status = client.get_developer_mode_status().await?;
println!("{status:#?}");

CLI Equivalent

Terminal
idevice-tools amfi status
idevice-tools amfi reveal
idevice-tools amfi enable
idevice-tools amfi trust <uuid>

Common Errors

ErrorWhat to check
Service not foundThe device/iOS version does not advertise this service on the selected transport.
Connection failedCheck pairing, trust state, and whether the selected provider can reach the device.
Permission errorThe service requires a device state, entitlement, or developer setting that is not active.

Source

On this page