我正在尝试在我的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"
它开始编译。
这是否意味着它不起作用,并且必须在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
,但这是一种手动工作。
作为讨论的其他问题:
run
和upload
脚本,但是在Get started中只有run
?${PODS_ROOT}/FirebaseCrashlytics/run
的确切路径,但对于/path/to/pods/directory/FirebaseCrashlytics/upload-symbols
却是不正确的路径,它们是同一文件夹,为什么不使用相同的文件夹?$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
为什么使用(
而不是{
?$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
是Info.plist
文件的路径,而不是GoogleService-Info.plist
为什么给了它的路径?)