PhaseScriptExecution 失败,退出代码非零 + Fabric
PhaseScriptExecution failed with a nonzero exit code + Fabric
当我尝试构建我的应用程序时,它因上述错误而失败。
我该怎么办?
感谢您的帮助:)
脚本是
"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
我在构建阶段从 运行 个脚本中删除了脚本,然后构建了我的应用程序,并重新添加了我的脚本。
清理项目(即从 Xcode/DerivedData 中删除构建文件夹)导致了这个错误,我想。
我今天遇到了同样的问题,通过使用 运行 脚本将结构 DSYM 上传移动到新的 firebase 分发过程。
这对我来说很有趣,一次成功,一次失败。背后的原因是新的构建系统 运行s paralel,所以当你的脚本开始 运行ning 时,真的不能保证你的文件已经创建了你想要使用的东西。
为了解决这个问题,我们应该在脚本下面提供"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
当我尝试构建我的应用程序时,它因上述错误而失败。 我该怎么办? 感谢您的帮助:)
脚本是
"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
我在构建阶段从 运行 个脚本中删除了脚本,然后构建了我的应用程序,并重新添加了我的脚本。
清理项目(即从 Xcode/DerivedData 中删除构建文件夹)导致了这个错误,我想。
我今天遇到了同样的问题,通过使用 运行 脚本将结构 DSYM 上传移动到新的 firebase 分发过程。
这对我来说很有趣,一次成功,一次失败。背后的原因是新的构建系统 运行s paralel,所以当你的脚本开始 运行ning 时,真的不能保证你的文件已经创建了你想要使用的东西。
为了解决这个问题,我们应该在脚本下面提供"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