如何在运行时禁用 Crashlytics for iOS?
Posted
技术标签:
【中文标题】如何在运行时禁用 Crashlytics for iOS?【英文标题】:How to disable Crashlytics for iOS during a runtime? 【发布时间】:2016-09-08 11:56:40 【问题描述】:在this tutorial 之后,我能够将 Crashlytics 集成到 ios 项目中。
但是,当登录的用户来自我们公司时,我想禁用跟踪(通过检查登录用户的电子邮件域)并且只跟踪我们的客户。
应用运行后是否可以根据某些条件禁用 Crashlytics?我在文档中找不到这个选项。
【问题讨论】:
请阅读我的问题。我不想在开发期间禁用它,而是在运行时禁用它。 【参考方案1】:您不能在运行时禁用它,但是,您可以使用documentation 中描述的技术阻止它发送特定的崩溃报告:
首先,您必须按以下顺序设置Crashlytics
委托:
CrashlyticsKit.delegate = self;
[Fabric with:@[[Crashlytics class]]];
并实现委托方法:
- (void)crashlyticsDidDetectReportForLastExecution:(CLSReport *)report completionHandler:(void (^)(BOOL))completionHandler
// You must set email to CrashlyticsKit, during previous app session, like this:
// [CrashlyticsKit setUserEmail:userEmail];
BOOL shouldSendCrashReport = [report.userEmail containsString:@"yourCompanyDomain"];
completionHandler(shouldSendCrashReport);
【讨论】:
在 Swift 中,您可以通过Crashlytics.sharedInstance().delegate
设置委托。委托应继承自 NSObject
以上是关于如何在运行时禁用 Crashlytics for iOS?的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 运行时禁用 crashlytics/Fabric
如何在开发过程中禁用 Crashlytics for iOS?
在 iOS 应用程序运行时启用/禁用 Crashlytics
在运行时禁用/启用 Firebase Crashlytics