【发布时间】:2019-04-24 23:07:29
【问题描述】:
每次我将 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 子类时,问题仍然存在。
有什么想法吗?
【问题讨论】:
-
你没有说多个命令产生了什么,但看看这里的第二个答案是否有用:stackoverflow.com/questions/50718018/…
-
嗨菲利普,感谢您的链接。第 3 个答案有助于如果我将编译设置为旧版,它会隐藏 2 个错误,但是,我真的不想这样做,因为它掩盖了真正的问题(在我看来,这就像 Xcode 中的一个错误)。
-
呜呜——我找到了答案!!!关键是在堆栈溢出中搜索“Build failed with "Command failed with a nonzero exit code"”的错误,在这些答案中,JeffreyWang23 于 2018 年 9 月 16 日发表了一篇文章来解决这个问题。我试图包含该链接,但我只是按照该建议从 Xcode 中删除 Entity+CoreDataClass.swift 和 Entity+CoreDataProperties.swift,然后在实体模型检查器的“类”下,将“模块”更改为当前产品模块和"codegen" 为 Manual/None,然后重新创建 NSManagedObject。然后所有的错误都消失了! :) :) :)
-
解决方案链接:stackoverflow.com/a/52357296/11407686(均归功于另一篇文章的作者)。 :)
标签: swift xcode nsmanagedobject