Network DevTools,
inside your iOS app.

No proxies. No certificates. No Mac needed.
One modifier. Full debugging suite.

ContentView().pry() — that's it.

Pry network inspector showing captured API requests
Free & Open Source MIT Licensed iOS 18+ Swift 6 Zero Dependencies Star on GitHub

Why Pry?

Traditional proxy tools require complex setup, certificates, and a Mac. Pry lives inside your app — zero friction.

No proxy config

Pry intercepts traffic automatically via URLProtocol. Add one SwiftUI modifier and you are done.

Traditional approach

Configure proxy settings on each device, manage PAC files, deal with port conflicts.

No Mac needed

Debug directly on the device or simulator. Pry runs entirely inside your app — no companion Mac process.

Traditional approach

Requires a Mac running the proxy application. Debugging on a physical device away from your desk? Out of luck.

No certificates

Zero certificate installation. No trust profiles, no CA roots, no expiring certs to rotate.

Traditional approach

Install and trust a root CA certificate on every device. Certs expire, break certificate pinning, and may pose security risks.

Works everywhere

Cellular, VPN, corporate Wi-Fi, hotspot — Pry intercepts at the URLSession level, so the network type does not matter.

Traditional approach

Only works on the same Wi-Fi network as the proxy. Cellular traffic, VPNs, and enterprise networks are invisible.

Everything you need, on device

A full debugging suite that lives inside your app. No external tools, no context switching.

Free & Open Source

Network Inspector

Network Inspector

Captures every URLSession request automatically. Tabbed detail view with timing breakdown, headers, JSON body with syntax highlighting, and more.

  • Color-coded method badges and status codes
  • Timing breakdown: DNS, TLS, connect, TTFB
  • JSON body with syntax highlighting
  • GraphQL awareness, JWT decoding, redirect chain
  • Search, filter, sort, pin, swipe to copy cURL
Console — terminal-style logs

Console & App Hub

Terminal-style console with colored log types. Plus a full App Hub with deeplink and push notification simulators, cookies, UserDefaults, device info, and permissions.

  • Structured logs: info, success, warning, error, debug
  • Deeplink monitor with URL builder simulator
  • Push notification capture with APNs simulator
  • Cookies, UserDefaults, device info, permissions
Unlock more with Pro
Pro — breakpoints and mocks

Breakpoints & Mocks PRO

Pause requests before they hit the server, or responses before they reach your app. Mock any endpoint with fake JSON. Replay and compare requests.

  • Breakpoint on request or response
  • Mock responses with custom status and delay
  • Replay any captured request
  • Compare two requests side by side
Pro — Performance metrics

Performance & Export PRO

Live CPU, memory, and FPS metrics with anomaly detection. Export sessions as Postman Collection or HAR archive. Network throttle for testing slow connections.

  • CPU, memory, and FPS with insights feed
  • Session export: Postman Collection & HAR
  • Network throttle: 3G, Lossy, Offline
  • Protobuf decoder without .proto schema

100% on-device.
Zero data leaves your app.

Pry has no servers, no accounts, no analytics, and no tracking. Every intercepted request, every log entry, every piece of data stays on your phone and is never transmitted anywhere. The only network traffic Pry creates is the traffic your app is already making.

No servers No accounts No tracking No analytics

Add it in 30 seconds

Three steps. No configuration files, no build phases, no scripts.

  1. 1

    Add the package

    dependencies: [
        .package(url: "https://github.com/9alvaro0/Pry.git", from: "1.2.1")
    ]

    Or in Xcode: File → Add Package Dependencies and paste https://github.com/9alvaro0/Pry

  2. 2

    Attach the modifier

    import Pry
    
    @main
    struct MyApp: App {
        var body: some Scene {
            WindowGroup {
                ContentView()
                    .pry()
            }
        }
    }
  3. 3

    Tap the ladybug

    A floating action button appears on top of your app. Tap it to open the inspector. That is it — no proxy, no certificates, no configuration.

Free forever, or upgrade for more

Pry Free covers everything most apps need. Pry Pro adds advanced tooling for serious debugging and QA workflows.

Pry Free

$0

MIT licensed, forever.

  • Network monitor, detail view, timing breakdown
  • GraphQL awareness
  • Console logs with types
  • Deeplinks & push capture + simulators
  • Cookies, UserDefaults, device info
  • cURL export
  • Floating button, shake gesture, embedded mode
Use Pry Free
Early bird

Pry Pro

$49 /one-time

Lifetime license, single developer. $79 after launch.

  • Everything in Free
  • Breakpoints — pause and edit requests or responses on the fly
  • Mock responses — return fake JSON without touching the server
  • Replay — re-send any captured request
  • Request diff — compare two requests side by side
  • Network throttle — Slow 3G, Fast 3G, Lossy, Offline
  • Performance metrics — live CPU / memory / FPS charts
  • Session export — Postman Collection & HAR
  • Protobuf decoder — raw decode without .proto

Enter your GitHub username — we'll add you as a collaborator on the private PryPro repo immediately after purchase.

Frequently asked questions

Is Pry Pro a subscription?

No. Pry Pro is a one-time purchase. You get lifetime access to the current major version and all minor and patch releases within it. Future major versions may require an upgrade.

Can I use Pry Pro on multiple projects?

Yes. A single-developer license covers unlimited projects built by the license holder. If you work in a team, each developer needs their own license.

What happens if I lose my GitHub access to PryPro?

Open a private issue on the PryPro repository with your purchase receipt and we will re-add you. Access is tied to your purchase, not to a time-limited token.

Refund policy?

Full refund within 14 days of purchase, no questions asked. Your repository access is revoked automatically on refund.

Can I see the Pro source code?

Yes. Pry Pro is distributed as source code, not a compiled binary. You can step-through debug, adapt it, and submit feedback. Redistribution is not allowed by the license.

Does Pry send any data to your servers?

No. Pry is entirely on-device. Nothing is ever sent to prytool.dev or anywhere else. The only network traffic Pry creates is the traffic you are already making.

Ready to debug smarter?

Add Pry to your project in under a minute. Free, open source, on-device.