首页 文章

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

提问于
浏览
54

我最近在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 回答

  • 1

    您可以尝试深度清洁(与产品>清洁不同) - 选项命令Shift K.

    Note: 这意味着 clean the build folder (通过按Option Product - > clean文件夹)

  • 104

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

    sudo rm -R /var/folders/
    

    但这给OS X带来了很多麻烦 .

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

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

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

    #!/usr/bin/env ruby
    
    require 'fileutils'
    
    cache = Dir.glob("/var/folders/**/com.apple.DeveloperTools*")
    FileUtils.rm_rf(cache)
    

    我希望这会对某人有所帮助 .

  • 0

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

  • 2

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

  • 3

    只需触摸项目的pch文件就可以解决这个问题:

    touch Test.pch
    
  • 75

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

    以下可能尝试以解决此问题

    • 在, Project -> Build Settings ,将 Precompile Prefix Header 更改为 NO

    要么

    • 运行 rm -rf ~/Library/Developer/Xcode/DerivedDataClean Build
  • 0

    只需单击菜单中的 Product 并选择 Clean

    产品>清洁

    为我工作得很好 .

  • 2

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

    !/bin/sh
    xcodebuild clean -configuration Debug
    

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

  • 10
    • 关闭项目或工作区 .

    • 在Finder中:⇧shift⌘cmdG

    • 粘贴: ~/Library/Developer/Xcode/DerivedData/

    • 删除 ModuleCache 文件夹并清空垃圾箱 .

    • 打开你的项目 .

    • 清洁:⇧shift⌘cmdK

    • 构建:⌘cmdB

  • 1
    rm -rf ~/Library/Developer/Xcode/DerivedData/
    
  • 19

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

    注意:修改系统头后,请删除'〜/ Library / Developer / Xcode / DerivedData / ModuleCache / 5CYAJ91AZCB7'中的模块缓存

    我试过,它有效 .

  • -1
    • 产品 - >清洁

    • 产品选项 - >清理构建文件夹

    • 关闭项目或工作区

    • 在Finder中清除'ModuleCache'路径 .

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

  • 1

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

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

    要删除 project.xcworkspace

    • 右键单击项目文件 yourProject.xcodeproj

    • 从下拉菜单中选择 Show Package Content

    • 清除xcworkspace文件

  • -1

    我只是去目录“/ $ HOME / Library / Developer / Xcode / DerivedData /”,删除那里的一切

  • 2

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

    rm <path-to-pcm-file>
    
  • 1

    在使用命令行构建(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时我没有遇到这个问题 .

  • 0

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

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

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

  • 43

    对我来说,这个问题只发生在Xcode 6测试版中,所以我切换回Xcode 5,现在问题解决了 .

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

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

  • 60

    我遇到了同样的问题 . 我的错误说我需要删除以下位置的缓存,

    Users / myusername / Library / Developer / Xcode / DerivedData / ModuleCache / 3FGETKFCU0N0W

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

  • 5

    如果您使用AppCode,您可以尝试删除内容表单:/ Users / [Username] / Library / Caches / appCode30 / DerivedData /

    为我工作:)

  • 7

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

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

    在找到解决方案之前,卡在它上面超过3个小时 . 希望这有助于某人 .

    谢谢 .

相关问题