【问题标题】:Exiting because upload-symbols was run in validation mode退出,因为上传符号在验证模式下运行
【发布时间】:2019-11-15 07:07:18
【问题描述】:

我正在尝试将 Fabric 添加到我的 xcode 项目中。我过去做得很成功,但现在面临一个 react-native 项目的问题。环顾四周,我已经尝试了几乎所有建议的组合。我的设置如下所示:

我也尝试过使用“${PODS_ROOT}/Fabric/run”的 Pods 版本,但是无论我做什么,我都无法从“添加运行脚本”步骤继续。

为了尝试调试,我已将 Fabric 命令生成的输出定向到文件。它产生以下结果:

在构建阶段模式下运行上传符号 验证构建 Crashlytics 的环境... 验证成功。退出是因为 upload-symbols 在验证模式下运行

非常感谢任何帮助。我很不确定如何从这里拿走它

附加信息

我从头开始重新安装了 Fabric Mac 应用程序,重新启动了 xcode、fabric 应用程序和整个系统。尝试在发布模式下构建,并且在这里几乎尝试了所有内容:

Crashlytics in iOS won't proceed past "Build Your Project" in Fabric app

【问题讨论】:

  • 同样的问题,但这是因为我错过了脚本中的引号。 "${PODS_ROOT}/FirebaseCrashlytics/run"

标签: ios react-native crashlytics google-fabric


【解决方案1】:

“由于上传符号在验证模式下运行而退出”消息有点误导,因为它也会在一切正常时出现...我使用的是最新的 Firebase Crashlytics 4.0.0,但它产生完全相同的输出作为旧的 Fabric 脚本。

中的cmets

${PODS_ROOT}/FirebaseCrashlytics/run

解释清楚:

# run
#
# This script is meant to be run as a Run Script in the "Build Phases" section
# of your Xcode project. It sends debug symbols to symbolicate stacktraces,
# sends build events to track versions, and onboards apps for Crashlytics.
#
# This script calls upload-symbols twice:
#
# 1) First it calls upload-symbols synchronously in "validation" mode. If the
#    script finds issues with the build environment, it will report errors to Xcode.
#    In validation mode it exits before doing any time consuming work.
#
# 2) Then it calls upload-symbols in the background to actually send the build
#    event and upload symbols. It does this in the background so that it doesn't
#    slow down your builds. If an error happens here, you won't see it in Xcode.
#
# You can find the output for the background execution in Console.app, by
# searching for "upload-symbols".
#
# If you want verbose output, you can pass the --debug flag to this script

提醒一下:如果您想在 Console.app 中查看消息,请先启动应用程序...

【讨论】:

    【解决方案2】:

    我遇到了这个问题,我通过检查位于 Build Ph 附近的“仅在安装时运行脚本”解决了这个问题

    【讨论】:

    • 但设置不会使 DSYMs 文件仅在用户第一次安装应用程序时上传?
    • @LuisMejías 需要这些符号来符号化 Crashlytics 门户中的崩溃报告,而不是在用户的安装中。他们发送不带符号的崩溃报告
    【解决方案3】:

    来自 Fabric/Firebase 支持的 Chintan。你能检查一下是否在构建设置中,

    带有 dSYM 的 DWARF

    文件已被选为您的

    调试信息格式

    另外,从设备/模拟器中删除应用程序,清理项目,重新构建,运行并再次安装应用程序。如果这不起作用,请联系 support(at)fabric(dot)io,您的应用可能需要手动激活。

    【讨论】:

    • 谢谢陈丹。我已经检查了以上所有内容,它们似乎与描述的一样。我已按照您的所有步骤操作,但问题仍然存在,Fabric 应用程序不会进入下一步。有什么方法可以进一步调试?
    • 您的问题解决了吗?我面临着完全相同的问题。我有多个使用 Fabric 的应用程序,无法添加新的应用程序,我没有使用 CocoaPods。我已经更新了应用程序
    • 通过联系 Fabric 客户支持解决了完全相同的问题。就我而言,问题是我被添加到组织中,而不是项目中(当时项目不存在)。错误消息与 OP 问题完全一样。
    • 在这种情况下,我最好与组织的管理员/所有者仔细检查。默认情况下,管理员可以访问组织下的所有应用。
    【解决方案4】:

    正如@llude 提到的,为了将 DYSM 发送到 FirebaseCrashlytics,您只需在代码构建阶段脚本中添加一行:${PODS_ROOT}/FirebaseCrashlytics/run

    如设置指南中所述: https://firebase.google.com/docs/crashlytics/get-started?platform=ios#initialize-crashlytics

    请注意,您需要添加 2 个字段作为 输入文件(在构建阶段脚本中),以便更新符号发送 DYSM 文件:

    • plist 文件路径
    • dysm 文件路径

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-16
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      相关资源
      最近更新 更多