在我们的iOS客户端构建期间,我们运行一个清理来防止/减少故障。但上周我们所有的构建服务器都因此错误而失败
致命错误:AST文件格式错误或损坏:'无法找到AST文件'
引用的文件'worspace / file_name.h'
似乎不再需要file_name.h并且开发人员删除了带入它的svn external。但AST文件仍然保留了对它的引用 - 尽管干净。
调查后我发现它是以下文件夹中的文件
VAR /文件夹/ F3 / bznwl6md2bx82f1fv_kkdzl00000gn / C / com.apple.DeveloperTools / 5.0.2-5A3005 / Xcode中/ SharedPrecompiledHeaders
删除SharedPrecompiledHeaders修复了此问题。当时我手动完成了这个。
但我想要一种自动化方法。是否有可用于查找此目录的环境变量/替代方案?我注意到它在不同机器之间有所不同。
答案 0 :(得分:3)
您正在寻找的环境变量是SHARED_PRECOMPS_DIR
答案 1 :(得分:1)
最终解决方案是将共享precomps目录放在结帐中。这允许构建服务器完全清理构建之间的工作区。
通过将SHARED_PRECOMPS_DIR传递给xcodebuild实现此目的。
e.g。
xcodebuild -project ProjectName -target“目标” - 配置配置 -sdk SDKName SHARED_PRECOMPS_DIR = /绝对/路径/到/结帐
通过在命令行传递此值,为所有项目设置了SHARED_PRECOMPS_DIR。即包括附属项目。
答案 2 :(得分:0)
莱恩的回答是正确的。如果需要从命令行检索此值,则解析
的输出xcodebuild -project myProj.xcodeproj -target" myTarg " -showBuildSettings
有关详细信息,请参阅How do I print a list of "Build Settings" in Xcode project?