当我尝试在 Xcode
中构建我的应用程序时,我会收到以下错误信息:
PCH 文件从不同的分支((clang-425.0.24))构建而来,与编译器((clang-425.0.27))不同
这之前并没有发生过,但这是在更新 Xcode 后的第一次构建。
其他应用程序可以工作,但这个特定的应用程序不行。
如果我关闭 "Precompile Prefix Header"
设置,它就可以工作了。
我该如何修复这个错误并仍保留该设置?
当我尝试在 Xcode
中构建我的应用程序时,我会收到以下错误信息:
PCH 文件从不同的分支((clang-425.0.24))构建而来,与编译器((clang-425.0.27))不同
这之前并没有发生过,但这是在更新 Xcode 后的第一次构建。
其他应用程序可以工作,但这个特定的应用程序不行。
如果我关闭 "Precompile Prefix Header"
设置,它就可以工作了。
我该如何修复这个错误并仍保留该设置?
这通常是一个缓存问题。通常可以通过按住Option键并选择Product > Clean Build Folder...来解决。
删除项目中的DerivedData
文件夹。查看Xcode首选项->位置以查看您保存它的位置。
DerivedData
不一定就是你的 Build
文件夹所在的位置,这个提示对我帮助很大,谢谢! - Etheryte似乎对于大多数人来说,使用带有 Option 键的 Product > Clean Build Folder... 命令即可解决问题。可以查看 @gaige 给出的答案。
如果您和我一样不属于“大多数人”,并且上述方法仍然无法解决问题,那么 XCode 可能会将您的共享预编译头文件留在其他地方。对我而言,它们在类似这样的文件夹中:
/var/folders/<some random two characters>/<some random string>/C/com.apple.Xcode.502/SharedPrecompiledHeaders
我只是删除了整个SharedPrecompiledHeaders文件夹,这解决了我的问题。但我不会去碰其他东西……
Shift-Cmd-G
并输入 /var
。 - Sedes其他选项都不能解决我的问题,这是我所采取的措施:
我删除了/Users/(Yourname)/Library/Developer/Xcode/DerivedData/ModuleCache/
下的缓存文件夹(重命名也可以)。
如果你看到类似于以下错误,请尝试删除错误信息中提到的文件夹:
PCH was compiled with module cache path '/Users/User/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8',but the path is currently '/Users/Stan/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8'
在您的iOS项目目录中,进入build文件夹并删除ModuleCache文件夹。再次运行react-native run-ios
,它应该按预期工作。
总结 - rm -rf ios/build/ModuleCache
在Finder中删除项目位置下的Build
和DerivedData
文件夹对我起了作用。
.build
文件夹。 - Florian Pfisterer我在使用Swift Package Manager构建项目时遇到了这个错误。
解决方法就是删除.build
目录。
如果您是通过命令行构建或者使用构建脚本的话,仅清理Xcode目标是不够的。您需要删除此文件夹。
预编译头文件位置可以在以下位置找到:
Target -> build settings => "Build locations" -> Precompiled headers cached path
删除此文件夹,
#rm -fr SharedPrecompiledHeaders
Product > Clean
,但它的清理工作不够彻底。一些人可以使用Product > Clean
,对于大多数人来说,Product > Clean Build Folder...
已经足够了,而其他人则需要根据@Sedes下面的回答手动删除。 - gaige