FirebaseCrashlytics自动上传符号问题

时间:2020-05-11 14:37:51

标签: ios xcode crashlytics google-fabric firebase-crash-reporting

我正在尝试在我的iOS应用中实施新的FirebaseCrashlytics,但出现了一些问题,有些事情根本不清楚。

根据第3步中的Upgrade文档,我必须添加以下运行脚本:

${PODS_ROOT}/FirebaseCrashlytics/run
/path/to/pods/directory/FirebaseCrashlytics/upload-symbols

所以,在我的情况下是:

"${PODS_ROOT}/FirebaseCrashlytics/run"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols"

但是编译失败是因为:

Running upload-symbols in Build Phase mode
Validating build environment for Crashlytics...
Validation succeeded. Exiting because upload-symbols was run in validation mode
[31merror: No Google App ID or Google Services file provided[0m
Command PhaseScriptExecution failed with a nonzero exit code

如果我删除upload-symbols行,则可以正常运行,这会导致仪表板崩溃,但据我了解,upload-symbols必须上传应用程序用户的dSYM个文件,所以我不用担心意味着我仍然需要它...

所以我试图替换它们:

"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols"
"${PODS_ROOT}/FirebaseCrashlytics/run" 

它开始编译。

我发生了一次撞车事故,并将其放在仪表板中,但我也得到了: enter image description here

这是否意味着它不起作用,并且必须在run之后,所以我继续并完成以下操作:

"${PODS_ROOT}/FirebaseCrashlytics/run"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}"

现在我可以编译了,但是在仪表板中仍然可以使用可选的dSYM

现在,我完全迷失了,如果有人可以澄清那将是很棒的。

PS:我可以在终端上使用upload-symbols,但这是一种手动工作。

作为讨论的其他问题:

  1. 为什么在Upgrade文档中它是runupload脚本,但是在Get started中只有run
  2. Upgrade文档中,${PODS_ROOT}/FirebaseCrashlytics/run的确切路径,但对于/path/to/pods/directory/FirebaseCrashlytics/upload-symbols却是不正确的路径,它们是同一文件夹,为什么不使用相同的文件夹?
  3. Get started文档中有输入文件,其中一个是$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)为什么使用(而不是{
  4. 此路径$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)Info.plist文件的路径,而不是GoogleService-Info.plist为什么给了它的路径?)

0 个答案:

没有答案