Closed GusevAndrey closed 4 years ago
Hi @GusevAndrey,
this behavior is actually by design - the SDK wasn't implemented to have crash reporting enabled/disabled before calling [[BITHockeyManager sharedHockeyManager] startManager];
.
That said, you could do:
[[BITHockeyManager sharedHockeyManager] startManager];
[[BITHockeyManager sharedHockeyManager] setDisableCrashManager:YES];
And then enable it whenever you want. In theory, it's possible to have a crash happen between these two lines of code (before it's disabled), I've never seen it happen in 7 years at HockeyApp and haven't heard that this is happening.
Let me know if this helps. Best, Benjamin
Hi @TroubleMakerBen,
It is strange to see it by design due to there is no any mention of that neither in comments or API which provides way to set any status at any time. Moreover there is no any assert in runtime too. So setting logs disabled before manager start looks totally legal.
And that led us to a bug which we've managed to discover only after investigate Hockey's sources.
So by the end of the day we did exactly what you say: disable crash manager just after start and hope nothing happens).
But still, it would be cool if the behaviour was supported or at minimum impossible by API.
Hi @GusevAndrey,
I appreciate the feedback and also agree. It's one of the learnings that we have incorporated in the way we design API's for the successor to HockeyApp, App Center (you should check it out, you can log in with your HockeyApp credentials!).
If set crashManagerStatus to .disabled before start() there will be no crash handlers registered and crash would be ignored even if crashManagerStatus would be changed in future without relaunch.