Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,013 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Runtime Viewer app icon

Runtime Viewer

A modern alternative to RuntimeBrowser for inspecting Objective-C and Swift runtime interfaces

Latest release Platform macOS 15+ Swift 6.2 MIT License

Runtime Viewer inspecting DVTFoundation, WebKit, and Catalyst UIKitCore side by side

Powered By

Language Library Upstream
Objective-C MachOObjCSection fork of p-x9/MachOObjCSection
Swift MachOSwiftSection
Mach-O MachOKit fork of p-x9/MachOKit
Injection MachInjector

Highlights

  • Swift & Objective-C Interfaces – Generate Swift type interfaces (with type/enum layouts and VTable offsets) alongside Objective-C headers directly from Mach-O binaries
  • Xcode-Style Syntax Highlighting – Full AppKit text view with type-defined jumps and rendering identical to Xcode
  • Customizable Color Themes – Pick a syntax theme in Settings → Theme; duplicate the built-in Xcode preset to edit per-token colors (with bold/italic), the editor background, and selection color. Each theme carries light and dark variants that adapt to the system appearance
  • MCP Integration (macOS 15+) – Let LLM clients (e.g., Claude) inspect runtime information via the Model Context Protocol, with an in-process bridge and a toolbar status indicator
  • Bonjour Multi-Device Mirroring – Discover and connect to iOS/macOS devices on the local network; remote engines appear in the toolbar's source switcher grouped by host
  • Export Interface Wizard – Xcode-style multi-step wizard for exporting ObjC/Swift interfaces to single or multiple files
  • Runtime Interface Transformers – Customizable transformer modules for C type replacement, Swift type/enum layouts, VTable offsets, and member addresses, with reorderable token template presets
  • Code Injection – Inject into x86_64 and arm64e processes (system apps supported via helper service; requires SIP disabled). Injected processes automatically reconnect across app restarts; sandboxed apps are supported over local TCP sockets
  • Auto-Update – Sparkle-powered updates with daily checks, manual Check for Updates…, EdDSA-signed archives, and an opt-in beta channel for RC / beta builds
  • Framework Support – Browse macOS frameworks, iOSSupport frameworks, and load custom Mach-O binaries or frameworks
  • Determinate Loading Progress – Phase-based progress feedback while indexing Swift and Objective-C sections
  • Filter Engine – Fuzzy search across runtime classes, protocols, and members
  • Bookmarks – Reorderable, persisted bookmarks for runtime objects

Getting Started

Helper Service Installation

On first launch, register the SMAppService helper for inter-process communication and code injection. Open Settings → Helper Service and click Install. After major updates, Runtime Viewer detects version mismatches and prompts for reinstallation automatically.

MCP Client Configuration

To expose runtime information to an LLM client:

  1. Open Settings → MCP
  2. Copy the server configuration via the Copy Config button
  3. Paste it into your LLM client's MCP configuration

The MCP bridge starts automatically on app launch; check the toolbar status indicator to confirm.

Connecting to Other Devices

Runtime Viewer discovers other instances on the local network via Bonjour. On iOS, allow the local-network permission when prompted. Remote engines appear in the toolbar source switcher grouped by host.

Window Behavior

Closing the last window leaves Runtime Viewer running, and clicking its Dock icon opens a new window. To have the app quit together with its last window instead, enable Settings → General → Quit After Closing Last Window.

Updates

Runtime Viewer uses Sparkle for automatic updates.

  • The app checks for updates once a day by default. You can adjust the interval or disable automatic checks in Settings → Updates.
  • To try pre-release builds, enable Settings → Updates → Include pre-release versions (Beta). RC and beta builds are delivered through the same feed on an opt-in channel.
  • You can always run a manual check from Runtime Viewer → Check for Updates….
  • Release feed: https://mxiris-reverse-engineering.github.io/RuntimeViewer/appcast.xml.

Troubleshooting

If Catalyst or code-injected applications don't appear in the directory list, try restarting the application.

Requirements

  • Main application: macOS 15+
  • RuntimeViewerCore (inspection engine): macOS 10.15+, iOS 13+, Mac Catalyst 13+, watchOS 6+, tvOS 13+, visionOS 1+
  • MCP integration: macOS 15+
  • Build toolchain: Xcode 26.2+ (Swift 5 language mode)

Screenshots

Objective-C class interface with ivar offsets and subclass inspector

Objective-C Interfaces
Headers reconstructed straight from Mach-O, annotated with ivar offsets and IMP addresses. The inspector lists every subclass found in the image.

Objective-C protocol with conforming types listed in the inspector

Protocols & Conforming Types
Browse protocol declarations with their required and optional members, and jump to every type that conforms to them.

Specialized Swift generic struct annotated with type layout and field offsets

Swift Interfaces & Type Layout
Swift types come with size, stride, alignment, extra inhabitant counts, and per-field offsets rendered inline as comments.

Specialize dialog with a searchable type picker for a generic parameter

Generic Specialization
Bind concrete types to generic parameters through a searchable picker that respects the parameter's protocol constraints.

Dyld shared cache tree with the export wizard's image selection step

Dyld Shared Cache & Export
Browse the shared cache as a file tree, then export interfaces for any subset of its 3,000+ images through the multi-step wizard.

Tabbed windows with the navigation history back menu open

Tabs & Navigation History
Open runtime objects in tabs and retrace your path with Xcode-style back/forward navigation history.

About

Objective-C & Swift Runtime Viewer for macOS and iOS

Resources

Stars

473 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages