Firebase Crashlytics iOS:即使脚本似乎正在运行,也无法接收事件

问题描述 投票:0回答:1

我知道这可能是一个似乎经常问到的问题,但是我无法收到Firebase Crashlytics的事件。当然,我到处搜索了先前提出的问题,但我的情况全都不是。如果某人除了我在下面所做的事情之外还有其他想法,请告诉我。

我做了什么:

  • 已检查构建脚本(${PODS_ROOT}/Fabric/run)是否正在运行。它将这种消息保留在日志中,看起来没有任何问题。另外,当我为双重检查而伪造路径或文件名时,由于找不到脚本错误而停止了构建。
Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Validation succeeded. Exiting because upload-symbols was run in validation mode
  • 最近从仪表板下载GoogleService-Info.plist。这似乎也可以正常工作,因为删除或重命名此文件会给我一个生成错误(=文件本身已被识别),而伪造plist内的bundle id会在运行时给我一个警告(=已读取文件内容)。我相信这也消除了事件被意外发送到其他地方的可能性。

  • 测试时从调试器分离。我认为这就是大多数人所经历的。通过执行kill->重新启动->崩溃->重新启动多次,我确保了数百次。

  • 启动过程中排除的崩溃测试代码。这也是一个常见的陷阱,我当然在按钮事件处理程序中编写了崩溃代码。

ios firebase crashlytics
1个回答
0
投票

注意:为了更好的调试,您应该在-FIRDebugEnabled中使用Arguments Passed On Launch标志。这对我有用:

1)更改运行脚本:

"${PODS_ROOT}/Fabric/run" -d

在构建输出中,您现在应该看到API密钥:

Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Arguments:
Debug mode enabled
API Key: <api-key>
Platform: ios
DSYM Paths: ["..."]

2)在您的AppDelegate中手动初始化Crashlytics:

Crashlytics.start(withAPIKey: "<api-key>", delegate: self)

启动应用程序,您应该看到crashlytics输出:

Crashlytics] Version 3.14.0 (144)
[Crashlytics] Running on iOS Simulator (iPhone), 13.1.0 (19A602)
[Fabric] settings downloaded successfully
[Fabric] Settings are available for consumption

3)执行崩溃(分离调试器)。之后,您应该看到以下输出:

[Crashlytics:Crash] report submission successful
© www.soinside.com 2019 - 2024. All rights reserved.