fatal error: file '/Users/.../cordova/platforms/ios/CordovaLib/CordovaLib_Prefix.pch' has been modified since the precompiled header
'/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode/SharedPrecompiledHeaders/CordovaLib_Prefix-bfgesbulnxtdepfwgniffeysypgv/CordovaLib_Prefix.pch.pch' was built
note: please rebuild precompiled header
'/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode/SharedPrecompiledHeaders/CordovaLib_Prefix-bfgesbulnxtdepfwgniffeysypgv/CordovaLib_Prefix.pch.pch'
1 error generated.
** BUILD FAILED **
The following build commands failed:
CompileC build/CordovaLib.build/Debug-iphoneos/CordovaLib.build/Objects-normal/armv7/NSDictionary+Extensions.o Classes/NSDictionary+Extensions.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
CompileC build/CordovaLib.build/Debug-iphoneos/CordovaLib.build/Objects-normal/armv7/CDVInvokedUrlCommand.o Classes/CDVInvokedUrlCommand.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
11 回答
首先通过Product - > Clean菜单(从XCode 4.6.2开始)尝试清理构建 .
如果仍然无效,请打开管理器(从菜单中选择Window-> Organizer) . 打开管理器后,从窗口顶部的工具栏中选择“项目” . 在左侧是项目列表,选择您遇到问题的项目 .
详细信息面板(列表右侧)将显示项目名称,位置,状态 . 下方的行显示派生数据的位置 . 单击最右侧的“删除...”按钮 . 将出现一个对话框,单击“删除” .
您也可以手动删除派生数据:
该目录包含项目的内置产品和索引 . 删除它是可以的,因为它只包含Xcode生成的项目 . Xcode将在下次打开项目时重新生成所有内容 .
我能够以更简单的方式修复它,只需选择Product> Clean,然后选择Xcode菜单栏中的Product> Build .
存档时,删除DerivedData文件夹对我不起作用 .
我不得不查看构建设置 - 构建位置 - 预编译的头缓存路径并删除该文件夹 .
对我来说是:
我想我会为Cryptognome的答案添加一个单独的答案而不是评论,因为当问题来自运行
xcodebuild
时,它实际上是一个不同的解决方案 . 就像Cryptognome一样,我在命令行工具xcodebuild
中遇到了错误 . 作为手动进入/var
子文件夹的替代方法,我发现我可以为共享PCH设置自己的缓存,可以通过设置环境变量SHARED_PRECOMPS_DIR
来完成,例如如下这样,我从来没有在自动构建中得到错误 .
注意在上面的命令中,我通常也会将
OBJROOT
和SYMROOT
env var设置为也在/ tmp中构建 . 最后,我把事情搞清楚了 .xcodebuild命令行工具有时会因此错误而失败 . 当我将svn工作区同步到早期版本时,这发生在我身上 . xcodebuild工具将其预编译的头文件保存在Ants提到的文件夹中:
您必须查看构建命令本身以查看实际的文件夹名称(-include / var / ...),但如果您正在构建不同的体系结构(arm6,arm7,模拟器等),则可能使用几个如果您在命令行构建中遇到此问题,只需删除/var/.../SharedPrecompiledHeaders中的所有内容 .
通过iOS模拟器>重置内容和设置删除模拟器的内容...然后点击休息 . 这将删除标头和资源的任何现有预编译实例 . 这对我有用
解决方案:
1)制品 - >清洁
2)制品 - >构建
错误类型:
一种构建错误
其中一个原因:
一个人可能已经改变了框架文件 . 当对另一个框架所依赖的框架进行更改时,有时会发生这种情况 . 预编译的头缓存不同步,Xcode无法编译给定的项目 .
其中一个场景:
一个人可能选择了Jump To Definition并在选择框架控件后做了一些更改 .
我只是通过清理(命令转换K)和重建就能摆脱这个错误 .
我首先尝试过,但没有用 . 最后我删除了Xcode并重新安装 . 现在它工作正常..
Xcode-> delete->再次安装
它可能对某些人有所帮助......
我跑的时候在cordova上遇到了这个错误:
cordova run ios
我尝试使用干净和构建但不起作用,最后我删除了文件夹'/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode'并且正常工作!这个提示,可能会帮助别人
Clean
方式对我不起作用,最终我通过重新安装XCode解决了这个问题 .