RuntimeBrowser is a class browser for the Objective-C runtime on iOS and macOS that provides introspection into loaded classes and their methods.
The tool solves the problem of understanding what classes and methods are available in the Objective-C runtime at any given moment. It works by giving full access to all classes loaded in the runtime, allowing dynamic loading of new modules, displaying every method implemented on each class, and presenting information in header file format. On iOS, it serves headers through an HTTP port and can instantiate classes and invoke methods with runtime parameters. On macOS, it offers syntax colorization and supports drag-and-drop of frameworks and headers.
The iOS version suits developers who need to inspect runtime state on device or simulator, with features for browsing by class tree, image, or indexed list, plus search capabilities. The macOS version is better for static analysis and exploration, supporting browsing by class tree, image, list, or protocols. Both versions handle Swift classes, structs, properties, and protocols alongside Objective-C. The tool includes a command-line interface, runtime_cli, which can print headers for individual classes, generate Swift declarations, and sweep entire system directories to extract all available runtime information for testing and comparison purposes.
The project has maintained steady activity with regular updates to both the iOS and macOS versions. The tool continues to be actively refined to support modern runtime features and Swift interoperability. Development includes comprehensive testing through the sweep functionality, which validates changes against the entire system runtime before and after modifications.