whatisgithub

What is idevice?

ylarod/idevice — explained in plain English

Analysis updated 2026-07-17 · repo last pushed 2026-05-08

1RustAudience · developerComplexity · 4/5MaintainedSetup · moderate

In one sentence

A Rust library for talking directly to an iPhone or iPad from your computer, letting apps get device info, take screenshots, and manage files without Apple's official tools.

Mindmap

mindmap
  root((repo))
    What it does
      Talks to iOS devices
      Reimplements Apple daemons
      Reads device info
      Manages apps and files
    Tech stack
      Rust
      USB
      lockdownd
      usbmuxd
    Use cases
      Take screenshots of a device
      Install or uninstall apps
      Access iOS file system
      Capture network packets
    Audience
      Developers
      Tool builders
    Notes
      Used by StikDebug, CrossCode
      API still changing pre-0.2.0

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a Mac or Linux tool that talks to a connected iPhone without relying on Apple's official tools.

USE CASE 2

Take screenshots or pull diagnostics from an iOS device programmatically.

USE CASE 3

Install, uninstall, or inspect apps on a connected iPhone or iPad from a Rust application.

USE CASE 4

Embed lightweight iOS device communication into a testing framework or automation script.

What is it built with?

RustUSBlockdowndusbmuxd

How does it compare?

ylarod/ideviceabc3dz/mixxxabyo-software/ferro-stash
Stars111
LanguageRustRustRust
Last pushed2026-05-08
MaintenanceMaintained
Setup difficultymoderatemoderatemoderate
Complexity4/52/54/5
Audiencedevelopergeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

API is pre-0.2.0 and changes frequently, pin to a specific version.

Copy-paste prompts

Prompt 1
Show me how to use idevice to connect to an iPhone over USB and read its iOS version.
Prompt 2
Help me write a Rust script with idevice that takes a screenshot of a connected iPad.
Prompt 3
Explain how idevice reimplements Apple's lockdownd and usbmuxd services.
Prompt 4
Help me install and uninstall an app on a connected iPhone using idevice.
Prompt 5
What do I need to pin in Cargo.toml to avoid breaking changes before idevice reaches 0.2.0?

Frequently asked questions

What is idevice?

A Rust library for talking directly to an iPhone or iPad from your computer, letting apps get device info, take screenshots, and manage files without Apple's official tools.

What language is idevice written in?

Mainly Rust. The stack also includes Rust, USB, lockdownd.

Is idevice actively maintained?

Maintained — commit in last 6 months (last push 2026-05-08).

How hard is idevice to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is idevice for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.