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

red*_*ela 3 xcode core-data swift4 xcode10

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

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

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

Eli*_*oij 7

在对数据模型进行大量编辑后,我遇到了同样的问题。我的所有实体都使用 Codegen类别/扩展和子类,突然我收到了这个神秘的错误:

错误:多个命令生成 '/Library/Developer/Xcode/DerivedData/MyApp-futvjnnhiceyibabpbzhxltebhoq/Build/Intermediates.noindex/MyApp.build/Debug/MyApp.build/DerivedSources/CoreDataGenerate/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 为一个实体生成两个扩展。修复此问题后,丢弃 ~/Library/Developer 中应用程序的 Intermediates 文件夹/Xcode/DerivedData 并执行了“产品”>“清理构建文件夹”,所有内容再次完美编译。

该错误消息在技术上是正确的,但毫无帮助。DataModel 接口应该在这种情况发生时立即对其进行标记,但人们只能梦想有一天 Apple 能够适当关注 Core Data。


Har*_*kar 6

这是您与coredata有关的问题的解决方案

根据您的第一个屏幕快照,您可以在右侧的 “ 打开的类”下看到名为Codegen的字段,然后选择“ 手动/无”并从“编辑器”->“创建NSManageObject子类”再次生成文件,问题将得到解决。

看到这张图片