有许多解决方案使用XCode控制台将-fobjc-arc标志包含在Compile Sources中的特定文件中.但是我在多个xcode项目中有太多文件要通过XCode单独更改它.
有没有一种方法可以通过编程方式修改构建阶段设置.
我找到的帖子很少
> Tutorial or Guide for Scripting XCode Build Phases
> Per-file compiler flags in Xcode project template
这两个都是很好的解决方案,但我需要设置一个机制,我可以编写脚本来管理它们.其中一些在服务器上运行,并且生成的xcode被分发给其他人进行测试.
project.pbxproj代码的操作似乎是最可能的选择.但我不知道该怎么做.
解决方法
源代码中的D5298D04170F232900D3B684 / * ASIHTTPRequest.m * / = {isa = PBXBuildFile; fileRef = FACE22CF15B72C4C00A0A4AD / * ASIHTTPRequest.m * /; settings = {COMPILER_FLAGS =“ – fno-objc-arc”; }; };
而没有编译器标志的文件看起来像这样:
源代码中的D5298D02170F232900D3B684 / * GradientShapeView.m * / = {isa = PBXBuildFile; fileRef = FACE22C715B6F90000A0A4AD / * GradientShapeView.m * /; };
我不知道为什么,但这些编译器标志和文件在.pbxproj文件中列出了4次.我在项目中有12个文件,并设置了编译器标志,但该文件中的标志有48次.
您可以设置文本解析器来运行此文件,并将标志添加到您希望拥有它们的特定文件中.我不确定你还会在这方面做些什么,但这将是一种将编译器标志添加到特定文件的perl可编写脚本的方法.