EXC_BAD_ACCESS
iOS
TL;DR
EXC_BAD_ACCESS indicates a runtime failure on iOS that interrupts the current user flow.
Symptoms
- EXC_BAD_ACCESS appears in crash logs
- The app exits or the UI flow stops
Common Causes
- Unexpected state reaches an unsafe path
- Input contracts are not enforced at boundaries
How to Verify
Quick Fixes
- Add guard checks and a safe fallback path
- Disable or rollback the risky code path behind a flag
Proper Fixes
- Enforce contracts with types, runtime checks, and tests
- Refactor ownership and lifecycle boundaries to remove the failure mode
Example Stack Trace
EXC_BAD_ACCESS in ProfileViewController.swift:42