Xcode 构建错误 - 多个命令生成 .o,目标“ProjectCoreData”对 Swift 源文件的编译命令列出了两次

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/53547650/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 10:52:38  来源:igfitidea点击:

Xcode build error - Multiple commands produce .o, Target 'ProjectCoreData' has compile command for Swift source files listed twice

swiftxcode

提问by Joe

I am running xCode Version 10.1 (10B61), Mojave 10.14 (18A391)

我正在运行 xCode 版本 10.1 (10B61)、Mojave 10.14 (18A391)

Searching shows similar issue in Xcode 10 greater than a year ago, but no issues since then. The solution from last year seemed to be switching to legacy mode, but that doesn't work now. It appears the source code that is stored on my desktop is conflicting with code that is in 'DerivedData', I'm not sure why this would suddenly pop up so randomly.

搜索显示 Xcode 10 中的类似问题超过一年前,但此后没有问题。去年的解决方案似乎正在切换到传统模式,但现在行不通了。似乎存储在我桌面上的源代码与“DerivedData”中的代码冲突,我不确定为什么会突然如此随机地弹出。

I see this problem go away if I remove the last model added in Core Data. It seems to trigger when I add a relationship to another object. It's apparently random.

如果我删除在 Core Data 中添加的最后一个模型,我会发现这个问题会消失。当我向另一个对象添加关系时,它似乎会触发。这显然是随机的。

Any advice on how to fix this issue so I can develop?

关于如何解决这个问题以便我可以开发的任何建议?

Multiple commands produce '//Library/Developer/Xcode/DerivedData/ProjectCoreData-ehjvvgovpitmbcegzopwciptfafr/Build/Intermediates.noindex/ProjectCoreData.build/Debug-iphonesimulator/ProjectCoreData.build/Objects-normal/x86_64/Contact+CoreDataClass.o':

Target 'ProjectCoreData' (project 'ProjectCoreData') has compile command for Swift source files

Target 'ProjectCoreData' (project 'ProjectCoreData') has compile command for Swift source files

from the logs:

从日志:

<unknown>:0: error: filename "Contact+CoreDataClass.swift" used twice: '/Users/<user>/Desktop/ProjectCoreData/Contact+CoreDataClass.swift' and '/Users/<user>/Library/Developer/Xcode/DerivedData/ProjectCoreData-ehjvvgovpitmbcegzopwciptfafr/Build/Intermediates.noindex/ProjectCoreData.build/Debug-iphonesimulator/ProjectCoreData.build/DerivedSources/CoreDataGenerated/ProjectCoreData/Contact+CoreDataClass.swift'
<unknown>:0: note: filenames are used to distinguish private declarations with the same name
<unknown>:0: error: filename "Contact+CoreDataProperties.swift" used twice: '/Users/<user>/Desktop/ProjectCoreData/Contact+CoreDataProperties.swift' and '/Users/<user>/Library/Developer/Xcode/DerivedData/ProjectCoreData-ehjvvgovpitmbcegzopwciptfafr/Build/Intermediates.noindex/ProjectCoreData.build/Debug-iphonesimulator/ProjectCoreData.build/DerivedSources/CoreDataGenerated/ProjectCoreData/Contact+CoreDataProperties.swift'
<unknown>:0: note: filenames are used to distinguish private declarations with the same name
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

回答by IBAction

According to this What's new in Core Data

根据这个核心数据中的新内容

Here is the picture with for solution:

这是解决方案的图片:

Picture with solution

带解决方案的图片

回答by jeet.chanchawat

For future users : If you are using core data and If you copied entity using option+drag, then ensure that entity name and class name must be same. None of the solutions mentioned over internet worked for me. enter image description here

对于未来的用户:如果您使用的是核心数据并且如果您使用 option+drag 复制实体,则确保实体名称和类名称必须相同。互联网上提到的所有解决方案都不适合我。 在此处输入图片说明