PhaseScriptExecution失败,退出代码为非零+ Fabric

时间:2019-08-15 06:45:57

标签: ios swift xcode build google-fabric

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

脚本是

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

2 个答案:

答案 0 :(得分:2)

我今天遇到了同样的问题,通过使用运行脚本将结构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

答案 1 :(得分:0)

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

我想

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