XcodeCloud 构建失败,并显示“ci_pre_xcodebuild.sh是可执行的,但退出时有 2 个退出代码”。

XcodeCloud build fails with "The ci_pre_xcodebuild.sh is executable but exited with 2 exit code."

提问人:Nikita HN 提问时间:11/15/2023 更新时间:11/15/2023 访问量:32

问:

XcodeCloud 构建失败并出现以下错误 - ci_pre_xcodebuild.sh是可执行的,但退出时有 2 个退出代码。如果文件是脚本,请确保指定了有效的 shebang 行,并且 Xcode Cloud 支持 shebang 行中指定的解释器。

这是我的剧本——

#!/bin/sh
if [[ $CI_XCODEBUILD_ACTION = 'build' ]]; then
    brew install swiftlint
    cd ..
    swiftlint --strict
fi

请让我知道如何解决此错误?

iOS版 swift xcode-cloud

评论


答:

1赞 trojanfoe 11/15/2023 #1

你的 swift 代码中有违规行为,这就是告诉你的方式。它应该将这些冲突输出到控制台,以便您可以查看它们是什么。swiftlint

也很弱;改用类似的东西:cd ..cd $PROJECT_DIR

#!/bin/bash
if [[ $CI_XCODEBUILD_ACTION = 'build' ]]; then
    which swiftlint >/dev/null || brew install swiftlint
    (cd $PROJECT_DIR; swiftlint --strict)
fi

此外,您应该在预提交钩子中运行,以便可以在此类错误到达您的 CI 之前修复它们。swiftlint

评论

0赞 Nikita HN 11/15/2023
感谢您的回复。事实上,我确实遇到了 swiftlint 违规,在解决它们后构建成功。