修复文件'project.pch'已被修改,因为预编译的头在Xcode中构建了错误

时间:2013-02-10 00:38:32

标签: xcode info.plist pch

我最近在info.plist部分处理我的应用程序乱码,因为我的应用程序无法在我的测试设备上运行:

  

文件'project.pch'自编译预编译头文件以来已被修改

需要注意的是,应用程序在模拟器中运行良好。


编辑:现在我收到此错误而不是另一个错误:

  

没有此类文件或目录(/Users/Me/Library/Developer/Xcode/DerivedData/MyProject-abcdefghijklmnopqrstuvwxyz/Build/Products/Debug-iphoneos/MyApp./MyApp)

No such file or directory error

如何重新生成info.plist文件?

21 个答案:

答案 0 :(得分:104)

您可以尝试深层清洁(与产品>清洁不同) - 选项 + 命令 + Shift + ķ

注意:这意味着 清理构建文件夹 (通过按选项 +产品 - >清除文件夹)

答案 1 :(得分:75)

  1. 关闭您的项目或工作区。
  2. 在Finder中:⇧shift + ⌘cmd + G
  3. 粘贴:~/Library/Developer/Xcode/DerivedData/
  4. 删除ModuleCache文件夹并清空垃圾箱。
  5. 打开你的项目。
  6. 清洁:⇧shift + ⌘cmd + K
  7. 构建:⌘cmd + B

答案 2 :(得分:60)

在我的情况下,错误消息有一个小提示:

  

注意:修改系统头后,请删除模块缓存   在   '〜/库/开发商/ Xcode中/ DerivedData / ModuleCache / 5CYAJ91AZCB7'

我尝试过它。

答案 3 :(得分:43)

只需触摸项目的pch文件即可解决此问题:

touch Test.pch

答案 4 :(得分:19)

  • 产品 - >清洁
  • 产品+ 选项 - >清理构建文件夹
  • 关闭项目或工作区
  • 在Finder中清除'ModuleCache'路径。

在Xcode6 GM和iOS 8.0中为我工作。

答案 5 :(得分:10)

当提供Xcode的库的.h文件发生更改(甚至是空格)时,可能会发生此错误。

可能会尝试以下方法来解决此问题

  • 在, 项目 - >构建设置 ,将预编译前缀标题更改为

    或者

  • 运行 rm -rf~ / Library / Developer / Xcode / DerivedData 清理构建

答案 6 :(得分:7)

在使用命令行构建(xcodebuild)时,自从使用iOS项目从Xcode 4.6升级到Xcode 5后,我经常这样做。

对我有用的是将其用作命令行构建命令:

xcodebuild -project path/to/my.xcodeproj -configuration Debug clean build

在此之前,我试过了:

  • 在Xcode GUI中清理项目。
  • 删除有问题的pch文件。
  • 删除有问题的pch文件的父文件夹。
  • 删除DerivedData项目文件夹。

以上所有内容都不适用于Xcode 5.0.2,Mavericks,iOS7。

请注意,使用Xcode GUI时,问题并未发生在我身上。

答案 7 :(得分:5)

我只是去目录" / $ HOME / Library / Developer / Xcode / DerivedData /",删除那里的所有内容

答案 8 :(得分:3)

只需点击菜单中的产品,然后选择清洁

  

<强>产品与GT;清洁

对我来说很好。

答案 9 :(得分:2)

我遇到了同样的问题。我的错误就像我需要删除以下位置的缓存一样,

  

用户/名为myUsername /库/开发商/ Xcode中/ DerivedData / ModuleCache / 3FGETKFCU0N0W

3FGETKFCU0N0W是一个文件夹,当我删除它然后清理构建项目。然后错误消失。

答案 10 :(得分:2)

如果您使用AppCode,可以尝试删除内容表单: /用户/ [用户名] /资源库/缓存/ appCode30 / DerivedData /

为我工作:)

答案 11 :(得分:2)

rm -rf ~/Library/Developer/Xcode/DerivedData/

答案 12 :(得分:1)

此外,只需打开终端,然后删除已生成的.pcm文件( Xcode 6以后

rm <path-to-pcm-file>

答案 13 :(得分:1)

对我有用的唯一解决方案是运行以​​下命令:

sudo rm -R /var/folders/

但这给我带来了OS X中的很多麻烦。

我认为因为/ var / folders /是临时文件,所以只需清空其中的任何内容即可。 但我错了,请看以下帖子:link

你描述的问题每当我试图构建我的Xcode项目时都会发生 - 我正在通过Jenkins建立它。

这意味着我无法每次都运行rm命令。所以我找到了一些灵​​感并编写了以下ruby脚本来解决我的问题:

#!/usr/bin/env ruby

require 'fileutils'

cache = Dir.glob("/var/folders/**/com.apple.DeveloperTools*")
FileUtils.rm_rf(cache)

我希望对某人有所帮助。

答案 14 :(得分:1)

对我来说,这个问题只发生在Xcode 6 beta版本中,所以我切换回Xcode 5,现在问题就解决了。

我尝试了所有用户建议的所有步骤,但没有人为我工作。

所以,如果你有两个版本的Xcode并且只在Xcode 6 beta中有问题,那么切换到Xcode 5并清理项目,问题就会解决。

答案 15 :(得分:1)

如果你在git分支之间切换时得到这个,尝试添加这个post-checkout钩子,它会在你每次更改分支时清理你的项目。

!/bin/sh
xcodebuild clean -configuration Debug

相对于项目根目录保存为.git/hooks/post-checkout,不要忘记chmod +x .git/hooks/post-checkout

答案 16 :(得分:0)

我逐个尝试了这些但是无法构建和运行我的项目。所以我将预编译前缀标题更改为 NO ,如@Abhilash Gopal所述,然后我重置了模拟器,删除了派生数据,删除了相应的.pcm文件(在我的情况下)它来自UIKit框架的UIImage.h,所以删除了UIKit.pcm)。然后我清理了项目,然后才能成功构建它。在早期版本的Xcode中,这些文件基本上被锁定,不允许编辑。但现在情况并非如此。希望这可以帮助那些面临同样情况的人。

答案 17 :(得分:0)

删除project.xcworkspace对我来说很有用。

project.xcworkspace是描述当前Xcode工作空间状态的模式的目录。每次启动Xcode时,如果不存在,它将重新生成project.xcworkspace

要删除project.xcworkspace

  • 右键单击项目文件yourProject.xcodeproj
  • 从下拉菜单中选择Show Package Content
  • 清除xcworkspace文件

答案 18 :(得分:0)

如果使用xcodebuild在命令行上构建,请删除传递给命令的'-parallelizeTargets'选项。这解决了我的问题

答案 19 :(得分:-1)

经过大量的答案和有用的建议后,我发现解决方案是:卸载Xcode 6并通过可用的dmg文件重新安装,然后安装Xcode的所有组件。

产品+选项 - &gt;清理构建文件夹,清理构建项目,删除模块缓存文件和派生数据文件,使用touch .pch,删除pcm文件,使用命令行删除var /文件夹(令人惊讶的是,所有这些对我的情况都没有帮助)

在找到解决方案之前,已经坚持了3个多小时。希望这有助于某人。

感谢。

答案 20 :(得分:-1)

只需打开终端并点击命令:

rm /Users/pratik/Library/Developer/Xcode/DerivedData/ModuleCache/LKL48GNAN6S7/UIKit-2X95M2Q1NPNPL.pcm

给你的文件路径返回.pcm错误。然后清洁项目并运行...享受!!!