xcodebuild将参数传递给iOS上的应用程序

时间:2016-10-25 08:37:18

标签: xcode xcodebuild

有没有办法可以通过命令行和xcodebuild将变量传递给我的iOS应用程序单元测试? 使用案例:我已经设置了Travis CI,并希望将敏感数据(没有人应该看到它)传递给我的测试。但我的项目是100%开源

1 个答案:

答案 0 :(得分:0)

我最终得到了这个解决方案:

xcodebuild -workspace "..." -scheme "..." -sdk "..." -destination "..." -configuration Release SECRET_ARG1="$SECRET_VALUE1" SECRET_ARG2="$SECRET_VALUE2" build test;

然后在测试目标构建设置中添加以下值:

最后,您可以使用宏访问您的值:

#define STRINGIZE(x) #x

#define STRINGIZE2(x) STRINGIZE(x)

现在,这将作为NSString常量恢复:

@STRINGIZE2(SECRET_ARG1);

使用Travis CI构建时,您可以使用项目设置将您的秘密值传递给环境,或加密并将它们放在您的travis.yml文件中(第二种方式更灵活,允许您在一个travis.yml中使用不同的秘密值文件,但它不是那么快和方便)