You can add an application-wide unhandled exception handler in your AppDelegate:
void HandleExceptions(NSException *exception) {
NSLog(@"The app has encountered an unhandled exception: %@", [exception debugDescription]);
// Save application data on crash
}
Reference it in the AppDelegate didFinishLaunchingWithOptions
as:
NSSetUncaughtExceptionHandler(&HandleExceptions);