gpt4 book ai didi

objective-c - Xcode 项目如何以编程方式检测目标或如何使用环境变量

转载 作者:太空狗 更新时间:2023-10-30 03:10:07 24 4
gpt4 key购买 nike

我想做一个应用程序测试,解析一些 json,存储到核心数据,并读出一些对象。

我的代码如何知道它是作为测试的一部分运行还是正常运行?只是通过某种方式知道“我们是否在测试目标中”?因为应用程序在启动时会启动一堆请求,以使用来自服务器的信息填充我的核心数据。我不希望它在我的测试期间这样做。我想启动该应用程序,从文件中读取 HARDCODED json,并使用与其他方法相同的方法将其存储到核心数据中,然后验证结果。

如果有人可以解释如何在每个目标的基础上传递特定的键值对,这些键值对可以从应用程序中读取,我会更加高兴。

最佳答案

没关系...发现它是在“方案”中设置的。

例如,如果您希望 TARGET=TEST 在测试期间可用,而 TARGET=RUN 在运行期间显示,只需在您的 Scheme > Environment Variables > Name/Value 中设置即可。

然后在您的应用中您可以:

[[[NSProcessInfo processInfo] environment] objectForKey:@"TARGET"]

将build设置与预处理器宏一起使用对我不起作用 b/c 我的测试目标(用于应用程序/集成测试)取决于我的主要(非测试)目标,因此首先构建主要目标,然后运行,并且你最终得到了主要的目标预处理器宏,即使你在你运行的目标中定义的宏之后。如果我在这里遗漏了什么,请有人随时解释。

关于objective-c - Xcode 项目如何以编程方式检测目标或如何使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6964630/

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