每次我将 NSManagedObject 子类添加到原始应用程序(启用了 CoreData)或添加到开始时未启用 CoreData 但后来添加的原始应用程序时,Xcode (10.2.1)/Swift (4.2) 都会抛出 3 个错误。
我正在尝试在 Xcode v10.2(刚刚更新到 10.2.1)中创建一个使用 Core Data 的简单应用程序。我试图通过两种方法来做到这一点,即。启动一个全新的应用程序并确保勾选核心数据,然后启动一个没有勾选核心数据的普通应用程序,然后添加核心数据。我遇到的问题是在我创建一个实体和一些实体属性之后发生的(每次都可以正常编译到那个点),但是当我从编辑器下拉列表中添加 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 子类时,问题仍然存在。
有什么想法吗?
最佳答案
我找到答案了!!!关键是在堆栈溢出错误中搜索“构建失败并显示非零退出代码的命令失败”,在这些答案中,JeffreyWang23 在 2018 年 9 月 16 日发表的一篇文章解决了这个问题。
解决方案链接:stackoverflow.com/a/52357296/11407686 (所有功劳归功于另一篇文章的作者)。
我只是听从了从 Xcode 中删除 Entity+CoreDataClass.swift
和 Entity+CoreDataProperties.swift
的建议,然后在实体模型检查器的“类”下, 将 "module"
更改为 Current Product Module
并将 "codegen"
更改为 Manual/None
,然后重新创建 NSManagedObject
。
然后所有错误都消失了! :) :) :)
关于swift - 我在 Xcode 10.2 上的 Swift4.2 中插入 NSManagedObject 后立即收到 Xcode 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55839720/