【问题标题】:Error: system file has been modified since precompiled header was built错误:自构建预编译头文件以来,系统文件已被修改
【发布时间】:2014-09-20 18:27:10
【问题描述】:

我刚刚下载了 xcode 6 的最终版本并编译了一个我正在使用 beta 的项目,现在显然会生成以下错误模拟器,有人可以帮助我解决这个问题。

fatal error: file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/
Developer/SDKs/iPhoneSimulator8.0.sdk/usr/include/sysexits.h' has been modified since the 
precompiled header '/Users/Lycros/Library/Developer/Xcode/DerivedData/ModuleCache/NZL05J5PKZ6B/
UIKit-301UUGFC4BK8R.pcm' was built

当我尝试在模拟器 iphone 5s、6、6 plus 和可调整大小的模拟器上编译时发生错误。 适用于 iphone 5、4 等以外的其他设备。 .

【问题讨论】:

  • 您是否尝试过 Clean All 以便重建预编译的标头?
  • 我尝试产品 -> 清洁和产品 -> 清洁构建文件夹但不起作用
  • Cmd + Opt + Shft + K 怎么样?
  • 是的,那样不行,错误只发生在最后一个 iphone 模拟器 5s,6,6 plus

标签: ios xcode xcode6


【解决方案1】:

退出 Xcode 并删除位于此处的模块缓存中的所有内容:

~/Library/Developer/Xcode/DerivedData/ModuleCache

使用以前版本的 Xcode 构建的缓存对于此版本的 Xcode 和 SDK 无效,这会导致您的错误。

【讨论】:

  • 太棒了!非常感谢!
  • 我不知道如何解决这个问题。谢谢!
  • 完美运行!谢谢!
  • 这是一个多么愚蠢和浪费时间的问题!对我来说,它突然发生了。非常感谢!
  • 谢谢。如果没有 SO,我们都仍处于编码解决这些浪费时间的问题的原始时代。感谢 SO 和社区。谢谢
【解决方案2】:

如果您将部署目标更改为 8.0,您可以让它在 iPhone 6 模拟器上运行。

我的也没有工作,我将部署目标更新为 8.0,清理项目,在模拟器上运行,构建工作正常。

然后我将部署目标降级到 7.1,选择 5S 7.1 模拟器,它也正确构建并运行。

【讨论】:

  • 当我发现的所有其他方法(深度清理、清除模块缓存、触摸 pch 文件等)都不起作用时,在 8.0 上运行它实际上对我有用。将它改回 7.1 并没有,但谁在乎呢,我有一个构建要移交给 Facebook。在 Xcode 本身中,令人惊讶地更改设备(如 5 到 5S)实际上对我有用(具有相同的部署目标)。不知道为什么,这当然没有解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 2021-12-08
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多