私のアプリでは、Crashlytics
で報告された前回のクラッシュの正確な時刻を知りたいと思います。私は最後のセッションのクラッシュの時間を取得しようとしましたCrashlyticsの正確なクラッシュ時間を確認してください
[CrashlyticsKit crash];
:私は、アプリが起動し、数分後に、ボタンを押すことで、アプリのクラッシュをシミュレートしてい
- (void) setUpCrashlytics
{
[[Fabric sharedSDK] setDebug:YES];
[CrashlyticsKit setDebugMode:YES];
[CrashlyticsKit setDelegate:self];
[Fabric with:@[[Crashlytics class]]];
}
:私はCrashlytics
このように設定してい
#pragma mark - CrashlyticsDelegate Methods
- (void) crashlyticsDidDetectReportForLastExecution:(CLSReport *) report completionHandler:(void (^)(BOOL)) completionHandler
{
BOOL isCrash = report.isCrash; //this is TRUE
NSDate *crashDate = report.crashedOnDate;
NSDate *reportCreation = report.dateCreated;
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
completionHandler(YES);
}];
}
をしかし残念ながら、両方の日付は、クラッシュの時刻を表示されませんが、最後のセッションの起動時間:CrashlyticsDelegate
使用。何か案は?ありがとう。
isCrashがtrueであることを確認しましたか?バックトレースはありますか?レポートは、いわゆる「メモリ不足」エラーのために生成されます。 Crashlyticsがこれらの100%を正確に検出しているとは確信していないので、「いわゆる」と言われています。いくつかの種類のバックグラウンド終了(特にバックグラウンドのOoM)は、プログラムにコードを実行させることはないので、Crashlyticsはクラッシュ時間を保存できません。これを意図的に強制的に強制的にテストし、 'crashedOnDate'があなたの期待に合っているかどうかを確認してください。 –
こちらからクラッシュマティックのマット - 私たちはこのメカニズムによってiOSのOOMを検出しません。したがって、このコールバックは、メモリ不足の終了後には呼び出されません。 あなたは正しいです、彼らはやりにくいです。ここで私たちはそれをやっている:https://docs.fabric.io/apple/crashlytics/OOMs.html – Matt