Tool
libimobiledevice
C library and command-line tools that speak iOS devices' native service protocols without Apple's proprietary libraries or a jailbreak. Over usbmuxd or Wi-Fi sync it implements lockdownd pairing and services such as AFC file access, backup, app installation, crash reports, syslog, debugserver and WebKit inspection, plus Cython bindings.
- Targets
- App · Protocol
- Category
- Protocol analysis tools
- Relationship
- Foundation tool
- Sources reviewed
Requirements & limits
- Latest release: 1.4.0 (2025-10-10), which NEWS calls a development release; it added MbedTLS support, Apple TV wireless pairing and iOS 17+ personalized developer disk image mounting, among other changes. The reviewed master commit of 2026-06-10 is nine commits ahead, mostly AFC and afcclient fixes.
- Source builds use autotools and pkg-config with libplist 2.3.0+, libusbmuxd 2.0.2+, libimobiledevice-glue 1.3.0+ and libtatsu 1.0.3+ from the same organization (README says libtatsu must be built from source), plus OpenSSL by default, GnuTLS or MbedTLS; Doxygen and Cython are optional. The README dependency list includes the usbmuxd daemon and says the library is tested on Linux, macOS, Windows and Android.
- Work starts from an iOS device the user controls and pairs with the host (idevicepair); the repository contains no Apple software. Screenshots and location simulation need a mounted Apple developer disk image, which is not included. README says library documentation is not yet available and points to the bundled utilities' source; each utility has a manual page.
- GitHub Actions builds and installs the library on Ubuntu, macOS and Windows (MSYS2 MINGW64 and MINGW32) against the latest builds of its sibling libraries, on pushes, pull requests and a monthly schedule. The repository has no test suite, and no workflow exercises a device.
- LGPL-2.1 for the library and utilities. The bundled ed25519 (zlib-style license) and Stanford SRP-based libsrp6a-sha512 (BSD-style) keep their own licenses. README states that the project is independent and not authorized, sponsored or approved by Apple.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · libimobiledevice/libimobiledevice · Revision fa0f791
- NEWS GitHub · libimobiledevice/libimobiledevice · Revision fa0f791
- configure.ac GitHub · libimobiledevice/libimobiledevice · Revision fa0f791
- .github/workflows/build.yml GitHub · libimobiledevice/libimobiledevice · Revision fa0f791
- src GitHub · libimobiledevice/libimobiledevice · Revision fa0f791
- 3rd_party/README.md GitHub · libimobiledevice/libimobiledevice · Revision fa0f791
- COPYING GitHub · libimobiledevice/libimobiledevice · Revision fa0f791
- https://github.com/libimobiledevice/libimobiledevice/releases/tag/1.4.0
More in Protocols
- Sniffle · Tool
- Packetry · Tool
- Caring Caribou · Tool
- protodump · Tool
- CAN Commander · Tool
- Automated CAN Payload Reverse Engineering · Tool