A crash refers to an unexpected termination of an app that results in the app stopping its execution abruptly. When an app crashes, the user is typically presented with a message that indicates the app has stopped working, and the user may be given the option to either force stop the app or send a crash report to the app's developer.
Crashes in watchOS apps can occur for various reasons, including Mach Exceptions, Signals, Objective-C Exceptions, and NSExceptions.
Mach Exceptions: These are low-level exceptions that occur when a process attempts to execute an illegal or unsupported operation.
Signals: Signals are software interrupts that are sent to a process when it encounters a critical error. SDK can detect and report signals such as SIGSEGV (segmentation violation), SIGBUS (bus error), and SIGABRT (abort signal).
Objective-C Exceptions: Objective-C exceptions occur when an object sends a message to an invalid recipient or when an attempt is made to access an object that has been deallocated. SDK can detect and report Objective-C exceptions.
NSException: NSException is a higher-level exception that can occur in Objective-C code. SDK can detect and report NSException crashes.
The issue report will contain the name and reason for the crash, along with a stack trace. The stack trace will help developers identify the root cause of the issue.