Sources
AppForceps supports five kinds of data sources: the iOS Simulator, .xcappdata packages, local reference folders, physical iOS devices, and Android devices. All of them open in the same four-pane UI.
iOS Simulator
Lists the running simulators and edits an app's Data Container directly.
- When writing a plist, the cfprefsd cache is synchronized automatically (
simctl spawn defaults import), so your edits take effect without restarting the app. - The "Restart App" button lets you verify your edits in the running app right away.
.xcappdata
Opens .xcappdata packages extracted from a real device with Xcode or Device Hub and edits them in place. This is the primary route when working with real-device data.
Local reference folders
Register any directory as a reference folder to open the .xcappdata packages and Data Containers under it directly. This is handy for keeping extracted data organized per project.
Physical device (iOS)
Lists connected physical devices via xcrun devicectl.
- You can restart cfprefsd to drop the UserDefaults cache.
- To edit a container, extract it as .xcappdata first and edit that.
Android
Lists connected devices and debuggable packages via adb.
- The data directory (
shared_prefs/databases/files) is pulled for local editing, and Upload writes it back to the device explicitly. - Launching apps, cross-source search, and container diff also work with Android.
Shared screen layout
Every source is operated through the same screen layout.
- A Finder-like four-pane column view (Devices → Apps → Files → Editor). Navigate with the arrow keys and resize the pane widths.
- Multiple tabs are supported (Cmd+T / Cmd+W, drag-and-drop reordering, renaming).
- Multiple windows are supported (Cmd+N).

Session restore: Even if the app is force-quit, the next launch restores the tab layout and even the selected file.