What problem does it solve?
React Native apps sometimes crash with only a native iOS stack trace (NSException, Fabric assertion) and no actionable JS error, leaving developers stuck. This Skill provides a systematic workflow to capture the native exception, reproduce it under the Xcode debugger, and trace the crash back to the exact React component responsible.
Core Features & Use Cases
- Native exception capture: Pull crash logs from the iOS simulator with
xcrun simctl predicates and decode Fabric assertion fields like tag, frame, alpha, and backgroundColor.
- lldb component identification: Use Xcode exception breakpoints and lldb commands to traverse the UIView hierarchy, find
accessibilityIdentifier (RN testID) values, and grep them back to source components.
- Crash pattern catalogue: Match crashes against five common Fabric patterns including unstable
keyExtractor, Reanimated animations running through unmount, and conditional rendering swaps, each with concrete fixes.
- Use Case: The Ledger Live mobile app dies with "Attempt to unmount a view which is mounted inside different view" and no JS stack. Follow the workflow to identify the orphan Skeleton component, apply the opacity-based fix, and verify Metro served the change.
Quick Start
Debug the native iOS crash in ledger-live-mobile that shows only a Fabric assertion with no JS stack trace.