应用程序委托因Firebase初始化而崩溃。

31

我遇到了这个错误,导致AppDelegate崩溃

由于未捕获的异常 'com.google.greenhouse' ,应用程序终止,原因:'Error Domain=com.google.greenhouse Code=-102 "无法正确配置 Analytics 子规格" UserInfo={NSLocalizedFailureReason=Tracking ID must not be nil or empty., NSLocalizedDescription=Unable to correctly configure subspec Analytics}'

我已经按照这里 Firebase指南进行操作

可能是什么原因?我现在不想使用Google Analytics,有解决方法吗?

编辑:

GoogleService-Info.plist位置

注意:我已经在此截图中删除了ID和Key GoogleService-Info.plist内容


你的 googleinfo plist 可能不在正确的位置或为空。 - Shubhank
在你的项目中,它在哪里呢?请将其位置的截图发布出来。它应该在.xcode项目所在的位置。 - Shubhank
它与Info.Plist一起位于Supporting Files文件夹中 @Shubhank - MrDank
@DarthVader,你解决了这个问题吗?我也遇到了同样的问题。如果你有任何解决方案,请帮帮我。 - nilam_mande
@nilam_mande 我还在处理中。如果我得到解决方案,我会发布它。 - MrDank
显示剩余2条评论
9个回答

112

被广泛接受的解决方案是移除Google Analytics。 但实际上您可以同时使用Firebase和Google Analytics。 我找到的解决方案是将TRACKING_ID添加到GoogleService-Info.plist中。

例如,添加以下内容:

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

4
我在哪里可以获取追踪编号的值? - jayant rawat
我很高兴这能帮到你。 @jayantrawat 你应该从谷歌分析中获取这个。 - ordinaryman09
我认为GA停止允许在GA中使用移动应用程序跟踪。今天我尝试了,但无法获取跟踪ID。唯一的选择是使用Firebase。 - funct7
理想情况下,它应该是被接受的答案。要获取跟踪ID,请打开您的Google Analytics并转到选择您的项目->管理->跟踪信息->跟踪代码->跟踪ID。 - Pradeep Kumar Kushwaha

18

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

如果问题仍然存在,你可以检查以下几点: 确保GoogleService-Info.plist文件位于正确的位置,即项目根目录。 检查google plist中的IS_ANALYTICS_ENABLED。尝试更改它。 尝试删除pod 'Google/Analytics'。 添加 -FIRAnalyticsDebugEnabled 以获得更多调试信息。

我的问题是通过删除Google/Analytics pod解决的。


我的问题通过移除 Google/Analytics pod 得到了解决。 (Y) - Zeeshan

10

我们之前遇到了完全相同的错误,并通过删除解决了问题。

pod 'Google/Analytics'

来自 Podfile。

在我们的情况下,我们一直在使用GA并切换到Firebase + TagManager解决方案,但只是忘记从Podfile中删除“Google/Analytics”。 (即使我们移除了“Google/Analytics”,TagManager会安装GoogleAnalytics作为依赖项,但错误已经消失了。好奇但它确实有效...)


4
如果想同时使用Google Analytics和Firebase,请在GoogleService-Info文件中添加两行代码。希望这能有所帮助。
 <key>TRACKING_ID</key>
<string>UA-123456789-0</string>

3

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


3

启用/禁用您想要的服务,在我的情况下,我只需要Analytics,所以我将IS_ANALYTICS_ENABLED设置为YES,并将其他服务设置为NO。

来源


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

0

这里提出的解决方案都没有对我起作用。唯一有效的方法是禁用 Firebase Analytics,通过在 GoogleService-Info.plist 中添加“FIREBASE_ANALYTICS_COLLECTION_ENABLED”(布尔值)并将其设置为“NO”(参考链接:https://firebase.google.com/support/guides/disable-analytics)。


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

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

enter image description here


请查看 @Shubhank - MrDank
从错误信息来看,似乎是因为您的应用启用了分析功能而导致崩溃。您可以尝试在属性列表中将其设置为“NO”,然后清理应用并重新运行以检查是否解决了问题。 - Shubhank
我的应用中IS_ANALYTICS_ENABLED被设置为NO。 - MrDank
1
好的,你能否检查一下 plist 是否已经添加到当前目标中?它可能只是没有在复制资源部分中,并且在编译期间未被捆绑到应用程序中。 - Shubhank
让我们在聊天中继续这个讨论:http://chat.stackoverflow.com/rooms/113982/discussion-between-shubhank-and-darth-vader。 - Shubhank
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接