【问题标题】:PhaseScriptExecution failed with a nonzero exit code + FabricPhaseScriptExecution 失败,退出代码为非零 + Fabric
【发布时间】:2019-12-21 15:57:05
【问题描述】:

当我尝试构建我的应用程序时,它会因上述错误而失败。 我该怎么办? 感谢您的帮助:)

脚本是

"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

【问题讨论】:

    标签: ios swift xcode build google-fabric


    【解决方案1】:

    我今天遇到了同样的问题,通过运行脚本将结构 DSYM 上传移动到新的 firebase 分发进程。

    这对我来说很有趣,一旦成功,一旦失败。背后的原因是新的构建系统并行运行,因此当您的脚本开始运行时,实际上并不能保证您的文件已经创建了您想要使用的文件。

    为了解决这个问题,我们应该在脚本下面提供"Input Files"来告诉构建过程,等待运行这个脚本直到它不存在。

    在这种情况下我们要等待 dsym 文件,所以

    ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
    

    应该添加到输入文件区域

    所以我的完整脚本看起来像这样

    if [ ! -d ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME} ]; then
        echo "No such DSYM file"
        exit 1
    fi
    
    devDBValue="${GCC_PREPROCESSOR_DEFINITIONS//*DEV_DATABASE=/}" 
    devDBValue="${devDBValue// */}"
    
    #Here I'm checking the type of database
    if [ "$devDBValue" = "1" ];then
        echo "DB TYPE: DEV";
        "${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/MyprojectName/GoogleService-Info-DEV.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
    else
        echo "DB TYPE: PROD";
        "${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/MyprojectName/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
    fi
    

    【讨论】:

      【解决方案2】:

      我在构建阶段从运行脚本中删除了该脚本,然后构建了我的应用程序,并重新添加了我的脚本。

      我想清理项目(即从 Xcode/DerivedData 中删除构建文件夹)导致了这个错误。

      【讨论】:

      • 您是否有更多关于错误的信息可以分享?您是直接调用 upload-symbols 脚本,还是只是尝试在添加了运行脚本构建阶段的情况下构建您的应用程序?
      • 对我来说,脚本解决问题后必须换行。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 2019-07-23
      • 2020-06-27
      • 2020-12-18
      • 2022-01-14
      • 2023-03-27
      • 2021-07-21
      相关资源
      最近更新 更多