保留取自环境变量

时间:2015-08-26 18:11:28

标签: objective-c macros xcodebuild

在Objective-C项目中,我试图从环境变量中获取文件路径,并将其设置为写入生成文件的位置。这用于在自动化测试环境中使用xcodebuild运行测试代码,其中直到调用xcodebuild才确定文件路径。

为了尝试这样做,我在构建设置中输入了一个预处理器宏,它引用了变量:

BUILDSERVER_WORKSPACE=\@\"$(WORKSPACE)\"

然后使用该宏

设置字符串的值
NSString *workspaceLocation = BUILDSERVER_WORKSPACE;

如果$WORKSPACE的路径的(字符串值)不包含空格,则工作正常但在路径有空格的情况下,宏预处理器将空格视为宏分隔符并尝试处理它们作为单独的宏定义。

例如:

$WORKSPACE=/foo/bar/thudblat

将workspacelocation的值设置为@"/foo/bar/thudblat" 但是

$WORKSPACE="/foo/bar/thud blat"

最终会创建多个预处理器定义:

#define BUILDSERVER_WORKSPACE @"/foo/bar/thud

#define blat"

我试图对路径进行字符串化,但是因为只有当我调用xcodebuild来构建然后运行时才会出现空格,因此我无法使其工作。

最后,我想要的是简单地走$WORKSPACE处的路径并将其值设置为NSString *workspaceLocation

这样workspaceLocation可能是"\foo\bar\thud blat"

0 个答案:

没有答案