iOS & macOS — BugWatch (CocoaPods / Swift PM)
Install: pod 'BugWatch', '~> 0.1' or Swift PM https://github.com/New-Instance-Org/bug-watch-ios.git from 0.1.0 · iOS 14+ / macOS 11+ (SPM) · Swift 5.9.
import BugWatch
BugWatch.start(options: BugWatchOptions(
projectId: "bwp_your_project_id",
appSecret: "your-mobile-app-secret",
environment: "production",
release: Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "0.0.0"
))Auth model: on-device HMAC token (x-bugwatch-token, 5-minute expiry) — the secret is never transmitted.
Capabilities: signal + NSUncaughtExceptionHandler crash capture with Mach-O binary images for dSYM symbolication, app-hang detector (2 s default), release-health sessions, lifecycle + URLSession network breadcrumbs, redaction, persistent offline queue, NWPathMonitor-gated retry.
Wire endpoint used: POST /api/v1/bugwatch/ingest/mobile (NDJSON).
Symbolication: upload dSYMs per build in CI — npx @newinstance/bugwatch-cli symbols upload MyApp.xcarchive --release "2.4.1" --build-number "318" (macOS runner; needs zip). Matching is by debug UUID, so any build machine's upload resolves any device's crash of that binary.