生成Core Data子类后如何修复Xcode 10错误“多个命令产生..”

时间:2019-02-12 22:50:04

标签: xcode core-data swift4 xcode10

我为我的项目创建了一个全新的核心数据模型,我想为其创建一些NSManagedObject子类。生成子类后,XCode引发一些错误,这些错误引用了指向/DerivedData文件夹的路径。请参阅下面的步骤和错误图片:

enter image description here enter image description here enter image description here

我已经尝试过清理建筑,清除DerivedData文件夹,所有这些事情。我也尝试过手动创建生成的文件,但仍然遇到相同的错误。有没有人设法解决这个问题?

2 个答案:

答案 0 :(得分:6)

以下是您与核心数据有关的问题的解决方案

根据您的第一个屏幕截图,您可以在右侧的 Class 下看到名为 Codegen 的字段,打开该下拉菜单,然后选择 Manual / None 从编辑器->创建NSManageObject子类再次生成文件,问题将得到解决。

See this image

答案 1 :(得分:0)

在对我的DataModel进行大量编辑之后,我遇到了同样的问题。我所有的实体都使用Codegen Category / Extension 和子类,突然我得到了一个神秘的错误:

错误:多个命令产生'/Library/Developer/Xcode/DerivedData/MyApp-futvjnnhiceyibabpbzhxltebhoq/Build/Intermediates.noindex/MyApp.build/Debug/MyApp.build/DerivedSources/CoreDataGenerated/MyApp/MyEntity+CoreDataProperties.m' :

  1. 目标“ MyApp”(项目“ MyApp”):DataModelCodegen / Users / elisevanlooij / Documents / Project MyApp / MyApp / MyApp / MyApp.xcdatamodeld
  2. 目标“ MyApp”(项目“ MyApp”):DataModelCodegen / Users / elisevanlooij / Documents / Project MyApp / MyApp / MyApp / MyApp.xcdatamodeld

两天后,我发现问题所在:实体名称和实体类名称在DataModel中不再匹配,迫使Codegen为一个实体生成两个扩展名,一旦我解决了这个问题,就将应用程序的Intermediates文件夹丢到〜/中Library / Developer / Xcode / DerivedData,然后执行“产品”>“清理构建文件夹”,一切重新编译精美。

该错误消息在技术上是正确的,但无济于事。 DataModel接口应在发生这种情况时立即对其进行标记,但是人们只能梦想苹果会适当注意Core Data的一天。