使用新的构建系统时如何确保xcodebuild结果一致?

发布于 2025-01-15 01:46:39 字数 680 浏览 1 评论 0原文

我们正在使用一个自制脚本,该脚本使用 xcodebuild 构建几个项目,并分析返回的构建错误和警告数量。

当 Xcode 中引入新的构建系统时,我发现运行之间的输出错误或警告的数量可能不同。 因此,多年来,我们一直通过使用 -UseModernBuildSystem=NO 参数运行 xcodebuild 来使用旧的构建系统。

自从升级到 M1 MacBook Pro 和 Xcode 13.3 以来,我似乎无法再使用旧的构建系统 - 至少,在包含或省略 -UseModernBuildSystem=NO 时,我没有看到任何明显的差异xcodebuild 参数。

我还尝试了以下方法来禁用并行编译,对于某些编译之间的项目,输出错误和警告的数量仍然不同。

system "defaults write com.apple.dt.Xcode BuildSystemScheduleInherentlyParallelCommandsSerially -bool YES"
system "defaults write com.apple.dt.Xcode PBXNumberOfParallelBuildSubtasks 1"

我还在脚本运行之间以编程方式清除 DerivedData 文件夹。

关于如何使用新的 Xcode 构建系统实现一致数量的输出错误或警告有什么建议吗?

We are using a homemade script that builds a couple of projects using xcodebuild and analyzes the returned number of build errors and warnings.

When the new build system was introduced in Xcode, I've found that the number of output errors or warnings may be different between runs.
So, for years, we have been using the old build system by running xcodebuild with -UseModernBuildSystem=NO arguments.

Since upgrading to M1 MacBook Pro and Xcode 13.3, it looks like I can no longer use the old build system - at least, I don't see any considerable difference when including or omitting the -UseModernBuildSystem=NO xcodebuild argument.

I also tried the following in order to disable parallel compilation, the numbers of output errors and warnings are still different for some projects between compilations.

system "defaults write com.apple.dt.Xcode BuildSystemScheduleInherentlyParallelCommandsSerially -bool YES"
system "defaults write com.apple.dt.Xcode PBXNumberOfParallelBuildSubtasks 1"

I am also clearing the DerivedData folder programmatically between the script runs.

Any suggestions on how to achieve a consistent number of output errors or warnings with the new Xcode build system?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文