Skip to content

Networking Audit

Quick automated scan to identify deprecated networking APIs and anti-patterns in your Swift/Objective-C codebase.

What It Scans

Deprecated APIs

PatternRiskReplacement
SCNetworkReachabilityRace conditionNWConnection waiting state
CFSocketMissing featuresNWConnection
NSStream, CFStreamComplex, error-proneNWConnection
NSNetServiceMissing benefitsNWBrowser
getaddrinfo()Blocking operationNWConnection (automatic)

Anti-Patterns

PatternRiskFix
Reachability check before connectRace conditionUse waitsForConnectivity
Hardcoded IP addressesProxy/VPN issuesUse hostnames
Missing [weak self] in callbacksMemory leaksAdd capture list
Blocking socket callsANR/crashesUse async APIs
Not handling waiting statePoor offline UXMonitor state changes

Usage

bash
# Scan entire project
/axiom:audit networking

# Scan specific directory
/axiom:audit networking Sources/Networking/

Example Output

=== NETWORKING AUDIT RESULTS ===

DEPRECATED APIs (3 issues):
  NetworkManager.swift:45 — SCNetworkReachability
    → Replace with NWConnection waiting state

  LegacySocket.m:120 — CFSocket
    → Migrate to NWConnection

ANTI-PATTERNS (2 issues):
  Config.swift:15 — Hardcoded IP "192.168.1.1"
    → Use hostname for proxy/VPN compatibility

  ConnectionManager.swift:67 — Missing [weak self]
    → Add capture list to prevent retain cycle

POSITIVE PATTERNS (found):
  ✓ NWConnection: 5 files
  ✓ URLSession: 12 files

Time Estimates

  • Replace SCNetworkReachability: 5-10 min
  • Add [weak self]: 1-2 min
  • Replace hardcoded IP: 2-5 min
  • Migrate from CFSocket: 30-60 min

Released under the MIT License