Skip to content
←  Home 日本語

AppForceps

Intro video

AppForceps intro video

Overview

AppForceps is a macOS desktop app that opens the Data Container of an iOS simulator—or one extracted from a real device via Xcode or Device Hub—and the app data of Android devices connected over adb, all in a GUI, so you can directly edit plist, SQLite, JSON, and SharedPreferences. It can also list and preview KV stores such as LevelDB and MMKV, as well as the contents of zip and gzip archives. A Finder-like four-pane layout lets you drill down from Devices → Apps → Files → Editor with the arrow keys.

It aims to collapse into a single GUI action the usual routine of running plutil or sqlite3 from the shell and restarting cfprefsd with xcrun simctl spawn ....

AppForceps's four-pane layout. From left: Devices, Apps, Files, and the plist Editor, where UserDefaults keys and values can be edited with types

Key features

Open iOS and Android data in a GUI

Handle simulator Data Containers, .xcappdata, and local folders, plus Android devices over adb, all in a single UI.

Built-in plist, SQLite, and JSON editors

plist is auto-detected as XML or Binary and edited with types. SQLite is updated cell by cell, and Android SharedPreferences and Jetpack DataStore are also edited with types.

Switching Firebase A/B Testing variants

Check how variants you were not assigned to behave. Works on both iOS and Android.

Undo / Redo

Up to the 20 most recent edits are recorded — undo with Cmd+Z, redo with Cmd+Shift+Z. Experiment safely.

Cross-source search and quick navigation

Search file names, plist keys, and SQLite table names across all sources. The command palette and favorite jumps take you straight to the file you need.

Session restore

Even after a force quit, the next launch restores the tab layout and even the selected file, so you can resume work across tabs and windows right away.

Installation

You can install it with Homebrew.

brew install --cask kusumotoa/tap/appforceps

Runs on macOS 13 (Ventura) or later.

Usage examples

For the motivation behind the development and workflows on real devices, see the blog posts below.

Reference links