每次我将NSManagedObject子类添加到一个普通的应用程序(启用了CoreData ),或者添加到一个在一开始没有启用CoreData的普通应用程序中时,Xcode (10.2.1) / Swift (4.2)抛出了3个错误。
我正在尝试在Xcodev10.2(刚刚更新到10.2.1)中创建一个简单的应用程序,它使用Core Data。我试着用两种方法来做到这一点。启动一个全新的应用程序并确保勾选了核心数据,同时启动一个没有勾选核心数据的普通应用程序,然后添加核心数据。我遇到的问题发生在我创建了一个实体和一些实体属性之后(每次都能正常编译),但是当我从编辑器下拉菜单中添加NSManagedObject子类时,问题就出现了。
一旦我添加了NSManagedObject,Xcode重新索引,我就得到了3个错误,其中两个指出“多个命令产生...”另一个声明命令CompileSwiftSources失败,并返回非零退出代码。
我已经尝试重新创建NSManagedObject,但是这并没有什么不同。我已经按照说明添加了一个构建语句(SWIFT_ENABLE_BATCH_MODE设置为NO),但这并没有什么不同。
我不想在这里做任何花哨的事情,只是让我把NSManagedObject子类作为CoreData的一部分启用,这样我就可以继续在Xcode10.2/Swift 4.2上编写我的应用程序的其余部分。
此外,我刚刚更新到Xcode10.2.1,这没有什么不同,即。当您尝试添加NSManagedObject子类时,仍然会出现问题。
有没有人有主意?
发布于 2019-04-27 05:13:04
我找到答案了!关键是搜索堆栈溢出上的错误“命令失败,退出代码不为零”,在这些答案中,有一篇来自JeffreyWang23的帖子在9月16日‘18日修复了这个问题。
链接到解决方案:stackoverflow.com/a/52357296/11407686 (归功于其他文章的作者)。
我只是按照这个建议从Xcode中删除了Entity+CoreDataClass.swift和Entity+CoreDataProperties.swift,然后在实体模型检查器的“类”下,将"module"更改为Current Product Module,将"codegen"更改为Manual/None,然后重新创建NSManagedObject。
所有的错误都消失了!:)
发布于 2019-09-14 01:38:27
为了解决这个问题,您应该在项目导航器中选择xcdatamodeld文件,选择实体并按⌥⌘3 (Data Model Inspector)。
如果您手动创建了类,则必须将Codegen popup设置为Manual/None,否则将隐式创建类文件。
请参阅this answer

https://stackoverflow.com/questions/55839720
复制相似问题