【问题标题】:Configuring the compile sources of a build phase配置构建阶段的编译源
【发布时间】:2012-01-02 07:04:26
【问题描述】:

我有一个有很多目标的项目。 每次我创建一个新目标时,我都会向编译源添加一个特定的类,并为该类设置一个编译器标志。如何自动应用此设置?

【问题讨论】:

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

标签: iphone objective-c ios xcode ipad


【解决方案1】:

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

这是一个简单的例子,为所有目标添加弧标志到文件中。

#!/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

【讨论】:

    猜你喜欢
    • 2012-05-07
    • 2015-04-13
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    相关资源
    最近更新 更多