【问题标题】:How to disable Crashlytics for iOS during development?如何在开发过程中禁用 Crashlytics for iOS?
【发布时间】:2015-04-17 07:37:57
【问题描述】:

有什么方法可以禁用 Ad-Hoc 构建的崩溃报告?我只想要发布版本的崩溃报告。

我知道我可以使用以下代码,但它仅适用于调试版本。

#if DEBUG == 0
    [Fabric with:@[CrashlyticsKit]];
#endif

我使用的是 Fabric 1.1.3

编辑:我根本不想禁用 Fabric,我只需要对 Ad-Hoc 和 Release 构建进行自动配置。

【问题讨论】:

标签: ios crashlytics twitter-fabric


【解决方案1】:

我想你可以试试这个:

#ifndef DEBUG
 [Fabric with:@[CrashlyticsKit]];
#endif

【讨论】:

  • 这不是我需要的,请仔细阅读答案,您的解决方案已经包含在问题中。
  • 在预处理语法中,ifndef DEBUGif 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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-06-25
          • 2022-12-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多