2

我刚刚使用 Xcode 的重构工具将核心数据类从 Player 重命名为 Person。在修复了由于使用 Xcode 在重命名中遗漏的点表示法导致的大约 100 个错误之后,我到了最后一个:

Player.m - 词法或预处理器问题 - 未找到“Person.h”

Player.m 不再存在于项目中,并在错误中显示为已删除(空图标)。显然,既然我摆脱了它,我就不希望它再存在了!

为了解决这个问题,我尝试重新添加 Player.h 和 Player.m 的旧副本,并进行清理。我检查了 Build Phases->Compile Sources 部分,Person.m 在那里,Player.m 不在。Person.h 实际上确实存在。

不确定这是否重要,但我正在使用 mogenerator 生成我的核心数据类。另外,这是我的第三个 xcdatamodel 版本。版本 1 和 2 使用 Player.h。

这是错误的屏幕截图: Player.m - 词法或预处理器问题 - 未找到“Person.h”

4

3 回答 3

6

尝试clean build,如果不行,重启 Xcode,如果不行,删除 DerivedData 目录,甚至重启

Xcode 有时会感到困惑。

于 2012-10-05T08:21:47.363 回答
2

您可以尝试通过按 Cmd+Alt+Shift+K 来进行超级干净(不确定真正的术语是什么)。这将执行清理并从构建文件夹中删除所有内容。

于 2012-10-05T09:59:29.513 回答
0

好吧,我遇到了一个非常相似的问题并解决了它,删除了我的项目设置中缺少的编译源。要做到这一点,请按照以下步骤操作

  1. 点击项目页面。此页面包含您应用的常规设置
  2. 选择构建阶段。
  3. 在 Build Phases 部分中,选择编译源。
  4. 如果缺少某些类或文件或需要编译的东西。
  5. 选择水印文件,然后单击本节底部的减号。

只需单击,项目即可运行。我希望这对其他人有帮助。

于 2016-05-24T07:03:45.827 回答