facebook/idb

idb is a flexible command line interface for automating iOS simulators and devices

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 12th, 2026
Created on September 3rd, 2015
Open Issues & Pull Requests: 183 (+0)
GitHub issues: Enabled
Number of forks: 503
Total Stargazers: 5,325 (+0)
Total Subscribers: 116 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

idb is a command line interface for automating iOS simulators and devices.

The tool addresses the challenge of controlling iOS simulators and devices outside of Xcode's graphical interface. It works through a client-server architecture where a companion process runs on macOS and communicates with a Python client that can execute from anywhere, enabling remote automation scenarios like centralized device labs or distributed test execution. The tool exposes granular, consistent primitives across iOS versions and between simulators and devices, allowing complex workflows to be built from simple commands. It also leverages private frameworks used by Xcode to make features available in headless automated scenarios that would otherwise require manual interaction.

Teams building large-scale iOS testing infrastructure or those needing to automate iOS devices from continuous integration systems should consider this tool. It suits projects where test execution needs to be distributed across many simulators or where automation must run outside the Xcode environment. The tool provides both a command line interface for human use and a Python client for programmatic integration. The underlying FBSimulatorControl and FBDeviceControl frameworks can be used independently if needed, though the tool itself offers simpler installation and sensible defaults for most users.

The project is undergoing a transition to a pure Swift codebase, with the companion already written in Swift and the frameworks migrating from Objective-C. Development activity shows ongoing work on the architecture migration and maintenance of both the command line client and the underlying frameworks that power device automation.