Xcode 13 让我很难构建我的项目,该项目由具有生成代码的构建阶段的目标组成。
例如,一个构建阶段Secrets+Generated.swift
通过简单地使用一个将一些代码回显到该文件中的 shell 脚本来生成文件。
构建阶段将该文件定义为输出文件。没有输入文件,没有输入文件列表,也没有输出文件列表,因为只有一个文件被创建/修改。
几乎在构建项目时,构建失败:
error: input file '[ProjectPath]/Secrets+Generated.swift' was modified during the build
error: input file '[ProjectPath]/Secrets+Generated.swift' was modified during the build
Command CompileSwiftSources failed with a nonzero exit code
有没有人遇到过这个问题或知道该怎么做?我尝试切换复选框“基于依赖分析”,但这没有帮助。我在使用 Xcode 12 时没有遇到这个问题。值得注意的是重复的错误消息,尽管只有一个构建阶段生成该特定文件。
顺便提一句。使用swiftgen、Sourcery或Cuckoo等代码生成工具时,我遇到了同样的问题。
编辑:这是我的构建阶段:
三个标记的构建阶段都生成一个这样的文件。他们都偶尔失败。我不知道这是否会有所不同,但这些只为一个目标(通知服务扩展)定义,它是我的主应用程序目标的依赖项,因此它仅在我构建应用程序时触发一次。