【问题标题】:App Delegate crashes because of Firebase initialization由于 Firebase 初始化,App Delegate 崩溃
【发布时间】:2016-10-06 06:27:48
【问题描述】:

我收到了导致 AppDelegate 崩溃的错误

由于未捕获的异常“com.google.greenhouse”而终止应用程序,原因:“错误域=com.google.greenhouse 代码=-102“无法正确配置子规范分析”UserInfo={NSLocalizedFailureReason=不得使用跟踪 ID nil 或空。, NSLocalizedDescription=无法正确配置子规范分析}'

我已按照 here 的 Firebase 指南进行操作

可能是什么原因? 此外,我现在不打算使用谷歌分析。有什么办法吗?

编辑:

注意:我已删除此屏幕截图的 ID 和密钥

【问题讨论】:

  • 您的 googleinfo plist 可能不在正确的位置或为零
  • GoogleInfo.plist 应该放在哪里? @Shubhank
  • 它在您的项目中的什么位置。发布其位置的屏幕截图。它应该是 .xcode 项目所在的位置
  • 它与 Info.Plist @Shubhank 一起在支持文件中
  • @DarthVader 你有解决这个问题的方法吗?我面临同样的问题。如果您有任何解决方案,请帮助我。

标签: ios swift firebase


【解决方案1】:

确保 GoogleService-Info.plist 文件位于正确的位置,即项目根目录。

我已经添加了我的项目的屏幕截图供您查看参考。

【讨论】:

  • 能否通过更新问题来显示你的plist位置和plist内容
  • 看看@Shubhank
  • 从错误来看,它似乎是为您的应用启用分析的崩溃原因。您可以尝试在 plist 中将其设置为 NO - 清理应用程序并重新运行以检查它是否有效
  • IS_ANALYTICS_ENABLED 在我的应用程序中设置为 NO。
  • 好的,你还能检查一下 plist 是否真的添加到了当前目标中吗?它可能只是不在复制资源部分中,并且在编译期间未捆绑到应用程序中。
【解决方案2】:

如果它不是您的 googleservice-info.plist 文件的位置。在 google plist 中检查您的 IS_ANALYTICS_ENABLED。也许尝试将其更改为与当前相反的内容。 此外,您可以添加此启动选项以获取更多调试信息。也许会有所帮助。 产品 -> 方案 -> 编辑方案 -> 启动时传递的参数:

-FIRAnalyticsDebugEnabled 

【讨论】:

    【解决方案3】:

    我们遇到了完全相同的错误并通过删除解决了

    pod 'Google/Analytics'
    

    来自 Podfile。

    在我们的案例中,我们一直在使用 GA 并切换到 Firebase + TagManager 解决方案,但只是忘记从 Podfile 中删除“Google/Analytics”。 (即使我们删除了“Google/Analytics”,TagManager 也会为依赖项安装 GoogleAnalytics,但错误消失了。很好奇,但它可以工作......)

    【讨论】:

      【解决方案4】:

      我就这个问题询问了 Firebase 团队,他们已经回复了。

      您可以检查问题是否仍然存在。 检查 GoogleService-Info.plist 文件是否位于正确的位置,即项目根目录。 在 google plist 中检查您的 IS_ANALYTICS_ENABLED。尝试改变它。 尝试删除 pod 'Google/Analytics'。 添加 -FIRAnalyticsDebugEnabled 以获取更多调试信息。

      我的问题已通过删除 Google/Analytics pod 得到解决。

      【讨论】:

      • 我的问题已通过删除 Google/Analytics pod 得到解决。 (Y)
      【解决方案5】:

      公认的解决方案是删除 Google Analytics。 但实际上你可以同时拥有 Firebase 和 Google Analytics。 我找到的解决方案是将 TRACKING_ID 添加到 GoogleService-Info.plist

      例如,添加这个:

      <dict>
          <key>TRACKING_ID</key>
          <string>UA-XXXXXX-X</string>
      

      希望它对某人有所帮助!

      【讨论】:

      • 谢谢!解决了我的问题,现在我可以同时拥有 GA 和 Firebase!
      • 太棒了!!你不知道它如何拯救我的一天。
      • 从哪里可以得到追踪ID的价值?
      • 我很高兴这有帮助。 @jayantrawat 你应该从谷歌分析中得到这个
      • 我认为 GA 已停止允许在 GA 中使用移动应用跟踪。今天我尝试并无法获得跟踪 ID。唯一的选择是使用 Firebase。
      【解决方案6】:

      在我的案例中启用/禁用您想要的服务我只需要分析,因此我在 IS_ANALYTICS_ENABLED 中设置为“是”,而其他服务设置为“否”。

      Source

      【讨论】:

        【解决方案7】:

        从 Podfile 中删除 --> pod 'Google/Analytics'

        【讨论】:

          【解决方案8】:

          这里建议的解决方案都不适合我。唯一要做的就是禁用 Firebase 分析,方法是将“FIREBASE_ANALYTICS_COLLECTION_ENABLED”(布尔值)添加到 GoogleService-Info.plist 并将其设置为“NO”(取自:https://firebase.google.com/support/guides/disable-analytics

          【讨论】:

            【解决方案9】:

            如果希望同时拥有 Google Analytics(分析)和 Firebase。请在 GoogleService-Info 文件中添加两行代码。希望对你有帮助

             <key>TRACKING_ID</key>
            <string>UA-123456789-0</string>
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2016-10-10
              • 1970-01-01
              • 2017-09-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多