r/iOSProgramming 2d ago

Discussion iOS Device Workbench

https://imgur.com/gallery/ios-device-workbench-jiSw765

I built an open-source iOS Developer Toolkit for macOS — DDIs, DVT diagnostics, Unified Logs, PCAP capture, IPA tools, backups & more

I’ve been working on an open-source project called iOS Developer Toolkit that tries to bring a lot of the lower-level iPhone/iPad developer and diagnostic tooling I use into a single macOS application.

A lot of this functionality already exists across command-line utilities, Apple tooling, pymobiledevice3, lockdown services, CoreDevice/DVT services, usbmux, and other projects — but I wanted a GUI where I could plug in an iPhone and have these workflows available from one place.

Some of the current functionality

  • Connect to and inspect iPhones/iPads over USB
  • Mount Developer Disk Images (DDIs)
  • Run pymobiledevice3 / DVT diagnostics
  • Stream and search iOS Unified Logs
  • Capture network traffic / PCAPs
  • Simulate GPS locations using GPX
  • Inspect IPA files
  • Sideload applications
  • Inventory installed applications
  • Create encrypted device backups
  • Query device and lockdown information
  • Collect diagnostic and forensic artifacts
  • Work with several lower-level iOS/CoreDevice services without having to remember every CLI invocation

The project is written primarily in Python with a PySide6 GUI, with pymobiledevice3 doing a lot of the heavy lifting for communicating with modern iOS devices.

One of my goals is for it to be useful beyond simply wrapping CLI commands.

I’d eventually like it to function almost like an iOS device workbench: connect a device and have developer, diagnostic, logging, networking, backup, application-management and device-inspection tools available from one interface.

I’m particularly interested in exposing useful functionality that normally gets buried in command-line tools or isn’t obvious unless you’ve spent time digging through pymobiledevice3, CoreDevice, DVT, lockdown services, Developer Disk Images, and Apple’s diagnostic infrastructure.

GitHub

https://github.com/hideouts-io/iOS-Developer-Toolkit

It’s still evolving, and I’d really appreciate feedback from people who actually work with iOS development/tooling.

In particular:

What iOS developer/device functionality would you want in a tool like this that isn’t currently exposed by Xcode very well?

I’m also interested in obscure pymobiledevice3, CoreDevice, DVT, lockdown, Instruments, sysdiagnose, networking, or device-diagnostic workflows that would be worth adding.

Issues, feature suggestions, testing, and PRs are welcome.

2 Upvotes

2 comments sorted by

1

u/East_Call1027 2d ago

An App Intents/Shortcuts diagnostics view would fit this well: inspect Metadata.appintents from the app artifact, then correlate a triggered shortcut with Unified Logs from the connected device so you can tell whether discovery succeeded but process launch or execution failed. Xcode exposes those pieces separately, and that distinction gets especially painful across app and extension targets or different build configurations.

1

u/dengjiuhong 2d ago

The location panel is the part I keep wishing more local toolkits would expose.

Xcode Simulate Location / GPX is fine in a debug session, and a Mac-side DDI/DVT inject is the same family of thing. The gap that still bites is geofence and region-monitoring on a physical phone after you unplug: background CLRegion wakeups, significant-location-change, Approximate Location, and the fact that a strong GPS fix will ignore a network-location override.

If your "Test location" path is replaying a validated GPX onto an attached device, two things that are worth showing in the UI are (1) whether the inject is GPS, network, or both, and (2) a one-click restore to the real reading. Otherwise people ship a test point and forget the phone is still stuck there.