【问题标题】:I deleted some core data generated files from the project, but Xcode still tries to compile them我从项目中删除了一些核心数据生成文件,但 Xcode 仍然尝试编译它们
【发布时间】:2016-09-23 04:31:34
【问题描述】:

我删除了 Core Data 从数据模型生成的 Objective-C 文件,所以我可以回到我在 Xcode 7 中生成的 swift 文件。删除文件时,我将文件移到了垃圾箱,并将 swift 文件添加回项目中。我正在使用 Xcode 8.0。

我得到的错误是

“错误:没有这样的文件或目录”,对于丢失的文件,其中之一 这是 Luna.build/DerivedSources/CoreDataGenerated/Luna/.LunaObservation+CoreDataClass.m。 有相应的错误 LunaObservation+CoreDataProperties.m 和 LunaOrbit+CoreDataClass.m, 但不是 LunaOrbit+CoreDataProperties.m。

我在构建阶段的编译源中没有看到文件名。我尝试清理项目并删除派生数据但没有成功。

更新:我终于弄清楚了如何生成 Swift 文件而不是 Objective-C 文件,但我仍然收到它正在寻找已删除的 Objective-C 文件的错误。

更新#2:清理项目并删除整个派生数据文件后,我能够减少错误数量;我不再收到丢失的 .m 和 .h 文件的错误,但我确实收到了一个关于两个丢失文件的错误:.Orbit+CoreDataProperties.swift 和 .Observation+CoreDataProperties.swift。这些文件存在,但名称前面没有句点。尝试将句点添加到文件名会导致“重命名失败”消息。这两个文件在其他没有导入任何内容的文件之后都有一个额外的“导入”——该行刚刚结束。

XCode 8 generates broken NSManagedObject subclasses for iOS 10 的帖子几乎显示了我遇到的问题。

【问题讨论】:

    标签: ios core-data xcode8


    【解决方案1】:

    在数据模型检查器中,尝试将模块选项设置为“当前产品模块”(而不是全局命名空间)。这会将句点添加到生成的 NSManagedObject 子类名称中。

    您可以通过查看配置部分来查看此操作的结果。类名将以句点为前缀。

    可以在此处找到更详细的回复:https://stackoverflow.com/a/40647786/4748172

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 2015-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多