致命错误:格式错误或损坏的 AST 文件 - Xcode

Posted

技术标签:

【中文标题】致命错误:格式错误或损坏的 AST 文件 - Xcode【英文标题】:fatal error: malformed or corrupted AST file - Xcode 【发布时间】:2014-01-07 23:29:29 【问题描述】:

在最新版本的 Xcode 中构建我的应用时出现此错误:

致命错误:格式错误或损坏的 AST 文件:'无法加载模块 “/Users/me/Library/Developer/Xcode/DerivedData/ModuleCache/XYZYIE6ZV0OP/Darwin.pcm”: 文件未找到'注:修改系统头文件后,请删除 模块缓存在 '/Users/me/Library/Developer/Xcode/DerivedData/ModuleCache/XYZYIE6ZV0OP' 产生 1 个错误。

当我导航到:

/Users/me/Library/Developer/Xcode/DerivedData/ModuleCache

我可以看到目录“XYZYIE6ZV0OP”不存在。

有人知道我该如何解决这个问题吗?我无法按照错误消息第二部分的建议删除该目录中的任何内容,因为该目录不存在!

【问题讨论】:

产品 > 清洁很好,但对我来说这有帮助:***.com/questions/20014235/… 【参考方案1】:

有同样的问题。清除派生数据文件夹为我解决了这个问题。在 Xcode 中,转到 Window->Organizer->Projects,选择您的项目,然后按“Derived data”旁边的“Delete...”按钮。

如果这不起作用,您可以尝试做一个 Product->Clean (Cmd+Shift+k)。

【讨论】:

感谢 devgeek。您的提示有效,但对于遇到此问题的其他人,我还必须执行 Product > Clean after。 也为我工作。非常感谢!不过这里不需要清洁。 对我来说,我只需要打扫 谢谢,这工作。但是你能解释一下这一切是怎么回事吗?我想知道为什么会发生某些事情,什么时候发生。第二天打开我的项目时,我突然遇到了这个错误。 清理构建文件夹也可以解决问题。 (项目>按选项并选择干净的构建文件夹)【参考方案2】:

按 Command + shift + k 或清理项目,然后运行项目...

【讨论】:

在导航到“产品”时按 Alt 键将为您提供“清理构建文件夹” - 为我解决了。【参考方案3】:

在 Xcode 中选择 Product-->Clean 问题将得到解决

【讨论】:

【参考方案4】:

默认情况下,Library 文件夹在 Mac 中是隐藏的。导航到该文件夹​​的最佳方法是:

    打开查找器 从菜单中选择前往 -> 选择“前往文件夹” 输入:/Users/“您的用户名”/Library/Developer/xcode

这将打开隐藏库文件夹中的直接 xcode 文件夹。

    选择“DerivedData”文件夹 Command + A,全选并删除。 打开模拟器并“重置内容和设置”。

现在再次运行 XCode,一切都会解决。

【讨论】:

【参考方案5】:

我遇到了同样的问题,通过清理项目解决了。

Product-> Clean

或按

command+shift+K

【讨论】:

【参考方案6】:

就我而言,我不小心修改了 NSURLConnection.h。 Xcode 抱怨路径缓存

/var/folders/p6/fk2rmf017sn2d_gds6dtqr6hrst8b2/C/com.apple.DeveloperTools/5.0.2-5A3005/Xcode/5.0.2-5A3005/Xcode/ModuleCache/XWWWZ5ED888F

我终于找到了修复它的步骤:

    退出 Xcode 删除上面的“5.0.2-5A3005”在 /var/folders/p6/fk2rmf017sn2d_gds6dtqr6hrst8b2/C/com.apple.DeveloperTools/5.0.2-5A3005

当 Xcode 重新启动时,它会重新生成该文件夹以及其中的所有内容。

【讨论】:

【参考方案7】:

自从安装了最新的 SDK 后,我遇到了同样的问题。

我的解决方案是删除派生数据并清理项目。

【讨论】:

【参考方案8】:

我在执行与 Xcode.app (Xcode 5) 共存的 Xcode6-beta5.app 的 xcodebuild 命令时遇到同样的错误。

在这种情况下,我添加了 -derivedDataPath 以将 ModuleCache 与默认 Xcode.app 分开。

  xcodebuild -derivedDataPath ./build/Xcode6-beta5/DerivedData ....

这对我有用。

【讨论】:

【参考方案9】:

我尝试多次删除派生数据和清理项目,但均无效。我警告中的文件是我已经从 Project Navigator 和所有构建设置中删除的旧文件。但它不断出现并给我这个错误。该错误仅发生在模拟器上,而不发生在设备上。这真的很奇怪。 :/

出于某种原因,我将分支切换到其他分支并切换回,它又可以工作了。如果有人知道它是如何工作的,请告诉我:D

【讨论】:

【参考方案10】:

只需清理删除派生数据和构建文件夹。问题一定会解决的。

【讨论】:

【参考方案11】:

就我而言,SSD 坏了。 您可以使用apples Disk Utility验证磁盘

【讨论】:

【参考方案12】:

就我而言,我的 plist 文件名中有一个空格。

我删除了它,并在目标构建设置中更改了 Info.plist 文件键

【讨论】:

【参考方案13】:

刷新 Safari 浏览器,向下滚动页面,您将看到“单击 + 按钮添加构建...”然后添加实际构建,单击保存并“等待审核”

【讨论】:

【参考方案14】:

清理项目并删除驱动器数据并没有为我解决问题。但最终解决的问题是更改了我使用的模拟器模型。

所以首先做一个清理,然后如果你在 iPhone 5 模拟器上运行它,在 iPhone 5s 模拟器上运行它来解决这个问题。基本上,在您正在运行的模拟器之外的任何其他模拟器上运行它。

(感谢 Hlung 的回答,我希望这个更清楚一点)

【讨论】:

【参考方案15】:

如果您将项目方案设置为“等待启动可执行文件”,则可能会发生此错误。

在这种情况下,只需从 Product > Scheme > Edit Scheme 更改您的方案...

【讨论】:

【参考方案16】:

在我的例子中,我尝试在一个项目中归档应用程序在 xcodeworkspace 内

关闭 Xcode,打开单个目标项目,然后清理 然后,我进行归档,它会生成一个 ios App 归档。

我希望我能帮助别人。

【讨论】:

【参考方案17】:

首次尝试构建第三方应用时遇到此错误。添加 foundation 作为库为我解决了这个问题。

【讨论】:

【参考方案18】:

我做了清理缓存,删除派生数据,手动删除从错误日志中找到的模块缓存文件夹,重新启动 xcode,重新启动机器。 但他们都没有帮助我。

但是这些步骤可以帮助我解决问题

注释掉 [Name]-Prefix.pch 文件中的所有 #import 行。 构建,正如预期的那样,它指向不同的错误。 还原我在 [Name]-Prefix.pch 中所做的更改并构建,编译成功。

This解决方案帮我解决问题。

【讨论】:

【参考方案19】:

如果您找不到“派生数据”

    文件 -> 工作区设置 点击路径旁边的箭头图标 删除“派生数据”文件夹

【讨论】:

【参考方案20】:

尝试重新安装 XCode,但没有解决问题,还创建了一个新的本地用户帐户并得到相同的错误,所以最后我放弃并恢复到几天前的时间机器备份......似乎再次好起来……暂时!

【讨论】:

这为 OP 提供了什么解决方案? @Rambatino,好吧.. 没有答案,但至少他告诉人们不要重新安装 xcode。 @mihai,公平地说,如果你不想在使用 Xcode 时遇到致命错误,卸载会解决这个问题^^ @Rambatino,你是对的,但是对于这个问题,重新安装是多余的,并且不能解决问题,所以它对答案有点帮助。这个答案应该是一条评论,而不是说明,重新安装 XCode 并不能解决它。”

以上是关于致命错误:格式错误或损坏的 AST 文件 - Xcode的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 5 错误:“格式错误或损坏的 AST 文件:子模块中的伞头不匹配”

C MySQL错误“致命错误LNK1107:无效或损坏的文件:无法在0x368读取”

致命错误LNK1107:文件无效或损坏:无法读取0x21E00D

使用 Git 时如何解决“错误:错误索引 – 致命:索引文件损坏”

错误:目标文件为空 .git/objects/../.. 为空 - 致命:松散的对象...已损坏

Win7移动硬盘无法存入文件,提示错误代码:0x80070570