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
asyncvariants 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.