Overview
iOS Development Bridge (idb) is a versatile tool for automating iOS Simulators & Devices. It exposes a lot of functionality that is spread over Apple's tools in a consistent and human-friendly interface.
idb is made up of these components:
- The
idbcli — a Python command line interface and client library. Because it is pure Python, it can run on any OS, not just macOS: automation can drive Simulators and Devices on a remote Mac. - The
idb_companion— a server, written in Swift, that runs on macOS next to the Simulators and Devices it automates. The cli talks to it over gRPC. It is built on theFBSimulatorControlandFBDeviceControlframeworks, which live in the same repository and can also be used on their own. idb-repl— an interactive REPL that compiles Swift code and runs it inside a live process on an iOS Simulator, built on the same companion. It has its own section of this site.
The Architecture page describes how these fit together. idb is in the middle of a transition to a pure Swift codebase: the companion is already Swift, and the frameworks are progressively migrating from Objective-C — the same page describes where that migration stands.
To get going, install idb and take the guided tour; the Commands page lists the full command surface.