将DATE添加到Xcode xcconfig文件

elp*_*elp 5 iphone xcode objective-c ios

我有一个Xcode配置文件,Config.xcconfig只包含这一行:

BUILD_DATE=`date "+%B %Y"`
Run Code Online (Sandbox Code Playgroud)

我希望,我以正确的方式将此配置添加到项目中.

在此输入图像描述

我想在Application-info.plist文件中使用BUILD_DATE变量的内容.怎么样?

我尝试使用值,${BUILD_DATE}但结果是字符串``date'+%B%Y"`不是值!

在此输入图像描述

从终端,结果是正确的:

alp$ BUILD_DATE=`date "+%B %Y"`
alp$ echo $BUILD_DATE
March 2013
alp$ 
Run Code Online (Sandbox Code Playgroud)

但是在Xcode中没有!

在此输入图像描述

我怎样才能解决这个问题?

tro*_*foe 3

您无法使用反引号命令获取构建日期,因为该.xcconfig文件不被解释为 shell 脚本。

您最好的选择是在这个SO问题(我不久前问过)中使用类似的方法Bump Build Number脚本,它提供了使用外部构建脚本更新文件的解决方案。.plist

例如:

#!/bin/sh

if [ $# -ne 1 ]; then
    echo usage: $0 plist-file
    exit 1
fi

plist="$1"
build_date=$(date "+%B %Y")

/usr/libexec/Plistbuddy -c "Set BUILD_DATE \"$build_date\"" "$plist"
Run Code Online (Sandbox Code Playgroud)

并使用以下内容从 Xcode 构建脚本调用它:

"${PROJECT_DIR}/tools/set_build_date.sh" "${PROJECT_DIR}/${INFOPLIST_FILE}"
Run Code Online (Sandbox Code Playgroud)