我正在构建一个新的Xcode项目模板,并且要包含一个非ARC的库。但是我的整个项目都是ARC,因此构建项目的唯一方法是-fno-objc-arc
在该库中的文件上指定编译器标志()。
如何在Xcode项目模板中做到这一点?
我尝试将其设置为Definitions
字典中的特定文件,分别为COMPILER_FLAG和CompilerFlag。它们都不起作用。
我对此完全没有文档,但是我很确定它可以完成。
更新:
Apple回复了我的支持请求,指出目前无法这样做。因此,不幸的是,我们运气不好,直到他们最终对模板及其文档进行了处理。
更新2:
我已经有了一个想法,如何使用构建阶段脚本对此进行一些修改,该脚本将检查Xcode项目并添加所需的标志。我将尽快发布答案。
好的,即使我从苹果公司得到了否定的答复(他们在模板解析器中也不支持),我还是找到了一种方法。
我基本上会在模板中添加新的构建阶段-运行脚本。该脚本会用该-fno-objc-arc
标志标记所需的文件,然后从项目中将其自身删除。
这是添加标志的方法:
PROJ_FILE="${PROJECT_FILE_PATH}/project.pbxproj"
STR_SRCH="\* Class.m \*\/"
STR_RPLC="\* Class.m *\/; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; };"
sed -i "" "s|${STR_SRCH};|${STR_RPLC}|g" "$PROJ_FILE"
然后以类似的方式扫描项目文件并删除构建阶段(使用脚本),这样就不会每次都运行它。
我将尽快用完整的代码更新此答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句