I encounter a \"failed to resume in time\" crash (which I assume to be watchdog related) on a very specific scenario: Only when resuming from background, and only when doing it
find in which thread you app is crashing put that thread in
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ dispatch_async(dispatch_get_main_queue(), ^{ // run that crashing thread here. }); });