配置编译阶段的编译源代码

3

我有一个包含多个目标的项目。 每次我创建一个新的目标,我都需要向“Compile Sources”中添加一个特定的类,并为该类设置编译器标志。如何自动应用此设置呢?


你在项目中创建了多少个目标? - Till
你确定你需要这么多的目标吗?一个目标通常用于应用程序的变体 - 例如免费版与购买版。对我来说,听起来你正在错误地使用目标的概念。 - Till
我正在开发50多个具有相同结构、使用相同库(静态和动态)和相同项目设置的应用程序。所以它们是变体。如果可能的话,我想添加一个目标,并自动设置构建阶段设置。 - user263865
确实听起来很有趣。不幸的是,我没有您查询的解决方案。只是想澄清这个问题,以确保您朝着正确的方向前进。 - Till
1个回答

0

我认为这需要直接修改项目文件来完成。换句话说,编写一个脚本来进行更改。

以下是一个简单的示例,为所有目标文件添加弧形标志。

#!/bin/sh

set -e

USAGE="$0 <filename> ..."

PROJECTFILE="project.pbxproj"
FILES="$*"
COMPILER_FLAGS="\"-fobjc-arc\"";

if [ "${FILES}" = "" ] ; then
    echo ${USAGE};
    exit 1 ;
fi

if [ ! -f "${PROJECTFILE}" ] ; then
    echo "Cannot find ${PROJECTFILE} - Please run from within the .xcodeproj directory";
    exit 1 ;
fi


cp ${PROJECTFILE} ${PROJECTFILE}.bak
for f in ${FILES}; do
    echo "Adding flags for $f" ; 
    sed -ie "s/\(${f}.*{ *isa *= *PBXBuildFile.*\)};$/\\1 settings = {COMPILER_FLAGS = ${COMPILER_FLAGS}; }; };/g" "${PROJECTFILE}"
done

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接