DiagnosticSDK

How it works

Observation instead of interception.

Most iOS network debuggers catch each request with a custom URLProtocol and send it again from their own internal URLSession. The app's session configuration is lost on the way: its SSL pinning delegate is never called, mTLS certificates are not presented, and session-level headers, cookies, cache and proxy settings are dropped.

DiagnosticSDK observes instead:

  • it relays your app's own URLSessionDelegate, forwarding every call unchanged;
  • it wraps task completion handlers and async variants to read the result;
  • the request never leaves your session.

Replay

Replay uses a URLProtocol only while a replay is active and only for requests that match a recording. A matched request is served from the recording and never touches the network. An unmatched request is not intercepted: iOS handles it natively.

On this page