[Crashlytics] Enable much earlier sending reports
Sending reports is now handled synchronously on the startup path, so that unsent reports can be sent before a startup crash causes further crashes to occur. This is apparently needed to help one particular user catch whatever is causing the app to crash for them. Signed-off-by: Christopher Snowhill <kode54@gmail.com>swiftingly
parent
0931686a78
commit
9cc5ba7c0e
|
@ -146,6 +146,26 @@ void *kAppControllerContext = &kAppControllerContext;
|
||||||
[[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"NSApplicationCrashOnExceptions": @(YES) }];
|
[[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"NSApplicationCrashOnExceptions": @(YES) }];
|
||||||
[FIRApp configure];
|
[FIRApp configure];
|
||||||
|
|
||||||
|
/* Evil startup synchronous crash log submitter, because apparently, there
|
||||||
|
* are some startup crashes that need diagnosing, and they're not getting
|
||||||
|
* sent, because the asynchronous defaults are not kicking in before the
|
||||||
|
* ensuing startup crash that happens somewhere later in this function. */
|
||||||
|
__block BOOL submitCompleted = NO;
|
||||||
|
ALog(@"Checking for unsent reports...");
|
||||||
|
[[FIRCrashlytics crashlytics] checkForUnsentReportsWithCompletion:^(BOOL hasReports) {
|
||||||
|
if(hasReports) {
|
||||||
|
ALog(@"Unsent reports found, sending...");
|
||||||
|
[[FIRCrashlytics crashlytics] sendUnsentReports];
|
||||||
|
ALog(@"Reports sent, continuing...");
|
||||||
|
} else {
|
||||||
|
ALog(@"No reports found, continuing...");
|
||||||
|
}
|
||||||
|
submitCompleted = YES;
|
||||||
|
}];
|
||||||
|
while(!submitCompleted) {
|
||||||
|
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
// Prevent updates automatically in debug builds
|
// Prevent updates automatically in debug builds
|
||||||
[updater setAutomaticallyChecksForUpdates:NO];
|
[updater setAutomaticallyChecksForUpdates:NO];
|
||||||
|
|
Loading…
Reference in New Issue