如何在开发过程中禁用 Crashlytics for iOS?
Posted
技术标签:
【中文标题】如何在开发过程中禁用 Crashlytics for iOS?【英文标题】:How to disable Crashlytics for iOS during development? 【发布时间】:2015-04-17 07:37:57 【问题描述】:有什么方法可以禁用 Ad-Hoc 构建的崩溃报告?我只想要发布版本的崩溃报告。
我知道我可以使用以下代码,但它仅适用于调试版本。
#if DEBUG == 0
[Fabric with:@[CrashlyticsKit]];
#endif
我使用的是 Fabric 1.1.3
编辑:我根本不想禁用 Fabric,我只需要对 Ad-Hoc 和 Release 构建进行自动配置。
【问题讨论】:
How to disable Crashlytics ios library using a flag?的可能重复 不,我需要对 Ad-Hoc 和 Release 构建进行自动配置,而 @rckoenes 解决方案适用于这种情况。 ***.com/a/66972059/2692839 【参考方案1】:我想你可以试试这个:
#ifndef DEBUG
[Fabric with:@[CrashlyticsKit]];
#endif
【讨论】:
这不是我需要的,请仔细阅读答案,您的解决方案已经包含在问题中。 在预处理语法中,ifndef DEBUG
和 if DEBUG == 0
根本不一样,因为第二个暗示 DEBUG 是用 0 值定义的,并且通常在发布版本中,DEBUG 标志只是不存在【参考方案2】:
如果您使用 Swift,这将起作用:
#if !DEBUG
Fabric.with([Crashlytics.self])
#endif
【讨论】:
【参考方案3】:开发版本也是DEBUG
版本,您可能指的是 Ad-Hoc 版本。
由于发行版和 Ad-Hoc 构建使用相同的配置,因此您将无法区分它们。
您的选择是为 AppStore 创建新配置。为此配置添加Preprocessor Macro
,如FABRIC=1
然后在你构建代码:
#ifdef FABRIC
[Fabric with:@[CrashlyticsKit]];
#endif
【讨论】:
【参考方案4】:在 swift 中为调试模式禁用 firebase crashlytics:
#if DEBUG
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(false)
#endif
【讨论】:
【参考方案5】:对于 Swift,将此键添加到 plist 并将其设置为“否”。
firebase_crashlytics_collection_enabled
之后,根据 Build Settings 中的用户自定义变量,您可以进行配置。
#if Development
print("Debug 1")
Fabric.sharedSDK().debug = true
#else
print("Debug 0")
Fabric.with([Crashlytics.self])
#endif
【讨论】:
以上是关于如何在开发过程中禁用 Crashlytics for iOS?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 中启用/禁用 Firebase Crashlytics
当用户更改首选项时如何在运行时禁用 Crashlytics/Fabric