gpt4 book ai didi

xcode - 用于指定 API 目标的自动化测试和 Xcode 配置文件

转载 作者:行者123 更新时间:2023-12-04 04:08:35 25 4
gpt4 key购买 nike

所以我正在编写从命令行运行的自动化测试来测试我的 iOS 应用程序的 UI。我有 bash 脚本可以清理和构建项目并运行我的 UI 自动化测试。

问题是,我希望命令行脚本能够更改我的 Xcode 项目中的 cflags,以确定我的应用程序指向哪个服务器。例如:

./run-test -target "Debug-Server"

将 C-Flag SERVER_ADDRESS 的值更改为 DEBUG_SERVER,同时:

./run-test -target "QA-Server"

将 C-Flag SERVER_ADDRESS 的值更改为 QA_SERVER

为了做到这一点,我计划创建一个 .xcconfig 文件,该文件被输入到 xcodebuild 中,它将在我的代码中设置 cflags以指向正确的服务器。像这样:

xcodebuild -target <TARGET_NAME> -configuration Debug-QA.xcconfig -sdk "$DEVICE_SLUG""$CURRENT_SDK" DSTROOT=. clean build

我真的一点都不熟悉 .xcconfig 文件,所以我有几个关于它们的问题。

  1. 我是否必须在 .xcconfig 文件中描述每个build设置?还是 Xcode 使用了某种“默认”值?
  2. 有更好的方法吗?

最佳答案

我想通了,结合使用了 .xcconfig 和 #ifdef 语句:

在我声明服务器的配置文件中:

#ifdef USE_DEV
#define SERVER_ADDRESS DEV_SERVER_ADDRESS //USED IN AUTOMATED TESTING DEBUG SERVERS

#elif defined USE_QA
#define SERVER_ADDRESS QA_ADDRESSS //USED IN AUTOMATED TESTING STAGING SERVERS

#elif defined USE_LIVE
#define SERVER_ADDRESS LIVE_SERVER_ADDRESS //USED IN AUTOMATED TESTING LIVE SERVERS

#else
#define SERVER_ADDRESS DEV_SERVER_ADDRESS //DEFAULT VALUES
#endif

然后我使用了三个 .xcconfig 文件,其中说明如下:

dev.xcconfig:

GCC_PREPROCESSOR_DEFINITIONS = USE_DEV

QA.xcconfig:

GCC_PREPROCESSOR_DEFINITIONS = USE_QA

LIVE.xcconfig:

GCC_PREPROCESSOR_DEFINITIONS = USE_LIVE

关于xcode - 用于指定 API 目标的自动化测试和 Xcode 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13617081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com