github doronz88/pymobiledevice3 v11.6.0

latest release: v11.7.0
4 hours ago

Highlights

✨ Debug iOS JSContexts and Safari pages from Chrome DevTools, VS Code and WebStorm

pymobiledevice3 webinspector cdp now debugs a device's bare JSContexts (anything that set isInspectable = true), not just WKWebView pages — with breakpoints, stepping and a live Debug Console that all behave the way each editor expects.

pymobiledevice3 webinspector cdp

Open http://127.0.0.1:9222/ to browse every inspectable page and JSContext on the device. Each entry carries a ready-to-copy VS Code attach configuration; JSContexts are numbered and ordered so you can tell a process's contexts apart.

✨ Pause new JSContexts on launch

Like Safari's "Automatically Show / Pause Connecting to JSContexts", the bridge can attach to every JSContext an app creates before it runs and hold it. Turn it on with --pause-new-targets, or the switch on the landing page:

pymobiledevice3 webinspector cdp --pause-new-targets

A newly created context is listed with a paused badge; open it and the debugger lands on its first statement, so a breakpoint set before it runs is hit.

🐛 Breakpoints and debugger statements now stop in every editor

A debugger statement and a breakpoint hit inside a JSContext are now surfaced correctly to Chrome DevTools, VS Code and WebStorm (previously the pause reached the device but the editor silently ran past it), and breakpoints bind on the URL-less scripts a JSContext produces.

What's Changed

  • 6e83318 cdp: Debug JSContexts over the bridge - pause on launch, editor-compatible pauses, breakpoints (#1914) (@doronz88)
  • d732779 docs: Document CDP debugging of Safari pages and JSContexts (#1914) (@doronz88)

Full Changelog: v11.5.0...v11.6.0

Don't miss a new pymobiledevice3 release

NewReleases is sending notifications on new releases.