43

我有一个问题,我不知道为什么会发生这种情况,但很可能是因为我错误地按下了移动到垃圾箱到某些系统框架。

我收到一条错误消息:

格式错误或损坏的 AST 文件:'找不到 AST 文件引用的文件'/Users/username/myProject/QuartzCore.framework/Headers/CAMediaTiming.h'

我试图在该目录中复制 QuartzCore.framework。然后它给了我一些新的错误。然后,如果我从目录中删除框架。在我进行任何代码更改之前,一切都会对项目有利。然后我将不得不再次制作以前的场景。现在很烦人,我真的需要解决这个问题。任何人?

4

7 回答 7

99

按照要求:

对我来说导致这个错误的原因(在获得新的 Xcode 之后)是我会尝试在模拟器中运行一个项目(不小心在模拟器中,我从不使用模拟器),但是我忘记选择我的设备,否则我的设备会被拔掉我注意到了,它会尝试在模拟器中运行......所以我会得到那些经典的“.o”文件错误......然后我会切换回我的设备并得到损坏的 AST 文件......


解决问题...(非常严格地遵循以下步骤!!!!!!)

  1. 清理你的项目
  2. 退出 Xcode (CMD+Q)
  3. 运行此终端命令:
    rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache/*
  4. 运行此终端命令:
    rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/*
  5. 重新打开 Xcode
  6. 确保您选择了您的设备而不是模拟器
  7. 清洁项目(是的,再次
  8. 然后构建(到您的设备,而不是模拟器)...

享受!

注意:经过进一步的实验,我发现强制退出 xCode 可能没有必要。

于 2013-12-15T15:45:35.830 回答
10

除了所有其他“清理你的构建”答案之外,在我清空(高度无证!)/var/folders目录之前,没有任何东西对我有用。

显然,这是 OS-X 维护的“杂项缓存”目录。我什至没有费心去弄清楚什么是“正确的文件”;我刚刚清理了整个目录。

...现在我可以再次构建。万岁!从终端:

[sudo] rm -rf /var/folders/*

(虽然我是通过身份验证从 Finder 完成的。)(OS-X 10.9.latest)

附加线索:我可以使用 XCode-6-beta 构建,但在 XCode-5 中得到了愚蠢的“损坏的 AST 文件”错误。

于 2014-09-03T22:28:24.653 回答
6

在我的情况下,我需要做的就是单击 Product > Clean,然后再次构建项目。它成功了。希望这可以帮助遇到同样情况的其他人。

于 2014-06-23T03:23:28.783 回答
4

大家好,我遇到了同样的错误,因为我一次打开了两个项目并将框架从一个项目拖放到另一个项目。一段时间后,我意识到这不是正确的方法。我将所有从另一个项目拖到垃圾箱的框架都移到了垃圾箱。然后清理并在模拟器中运行一切正常。

删除框架->再次添加框架->清理并运行

我希望它会帮助某人

于 2014-03-18T09:43:44.583 回答
4

Personnaly,只有一个解决方案对我有用:在 Xcode 中转到 Window -> Organizer Clic 上的“派生数据”目录附近的“删除”按钮。然后再次运行您的项目...

于 2015-01-06T17:23:28.870 回答
0

我只是清理我的项目并重新构建。一切恢复正常。

于 2015-02-11T03:40:59.673 回答
0

就我而言,发生错误是因为我有一个损坏的 .m 文件——它以某种方式(不太确定如何)进入我的项目(我同时打开了 Eclipse 并且损坏的文件有里面有一些java代码)。为了解决这个问题,我清理了我的项目,关闭了 Xcode,删除了错误的 .m 文件并重新打开了 Xcode。然后由于现在缺少 .m 文件,它给了我一个 clang 错误。我创建了一个新的空 .m 同名文件,项目运行良好。有点破解,但它有效:-)

于 2015-05-27T20:43:30.677 回答