如果你使用了Apollo IOS Codegen CLI生成代码,你可能会遇到类似下面的问题:
cp: /path/to/generated/code/GraphQLAPI.swift: File exists
这个问题的原因是生成器在生成代码时没有检查文件是否已经存在。因此,当你运行生成器时,它会尝试覆盖现有的文件,导致重复文件出现。
为了解决这个问题,你可以修改生成器代码,添加一个检查文件是否存在的步骤,以避免覆盖现有的文件。以下是一个示例:
// 检查文件是否存在
if FileManager.default.fileExists(atPath: output) {
print("\(output) 已存在,跳过生成")
continue
}
// 如果文件不存在,则生成代码
通过这种方式,当生成器运行时,它会首先检查文件是否存在,如果文件已经存在,则跳过生成步骤。这样可以避免生成器覆盖现有的文件并导致重复文件出现。