每次我将NSManagedObject子类添加到一个vanilla应用程序(启用了CoreData)或者一个没有在启动时启用了CoreData的香草应用程序,但在之后添加,Xcode(10.2.1)/ Swift(4.2)会抛出3个错误。
我正在尝试使用Core Data在Xcode v10.2(刚刚更新到10.2.1)中创建一个简单的应用程序。我试过用两种方法做到这一点,即。启动一个全新的应用程序并确保核心数据被勾选,并启动一个没有核心数据的香草应用程序,然后添加核心数据。在我创建一个实体和一些实体属性之后,我遇到的问题就出现了(每次编译都很好),但是只要我从编辑器下拉列表中添加NSManagedObject子类就会出现问题。
一旦我添加了NSManagedObject,Xcode重新索引并且我得到3个错误,两个声明“多个命令产生......”,另一个声明Command CompileSwiftSources失败并返回非零退出代码。
我试图重新创建NSManagedObject,但这没有任何区别。我按照说明添加了一个构建语句(SWIFT_ENABLE_BATCH_MODE设置为NO),但没有区别。
我不是想在这里做任何想象,只是在我将NSManagedObject子类作为CoreData的一部分启用的时候,以便我可以继续在Xcode 10.2 / Swift 4.2上编写我的应用程序的其余部分。
我刚刚更新到Xcode 10.2.1,这没有任何区别,即。当您尝试添加NSManagedObject子类时仍会出现问题。
任何人的想法?
我找到了答案!!!关键是在堆栈溢出中搜索“Build failed with”命令失败并返回非零退出代码“',并且在这些答案中,JeffreyWang23在Sep16'18发布了一条修复此问题的帖子。
链接到决议:stackoverflow.com/a/52357296/11407686(所有归功于另一篇文章的作者)。
我只是按照这个建议从Xcode中删除Entity+CoreDataClass.swift
和Entity+CoreDataProperties.swift
,然后在实体模型检查员的“类”下,将"module"
更改为Current Product Module
,将"codegen"
更改为Manual/None
,然后重新创建NSManagedObject
。
然后所有错误都消失了! :) :) :) :)