【问题标题】:How does one use Xcode Bot Environment Variables?如何使用 Xcode Bot 环境变量?
【发布时间】:2018-01-17 06:07:04
【问题描述】:
设置机器人时,有一个“环境”选项卡,如下所示:
我希望能够像这样在我的测试中访问这个环境变量:
NSString *username = [[NSProcessInfo processInfo] environment][@"accountEmail"];
但是返回为零。我可以通过将其内容记录到控制台来验证 [NSProcessInfo processInfo] 是否填充了其他数据。
我认为这是一个非常新的 Bot 功能(2015 年 WWDC 视频和 Apple 的文档都没有提到这个选项卡),但是有没有人成功访问过这些 bot 环境变量?
【问题讨论】:
标签:
xcode
continuous-integration
【解决方案1】:
为了访问通过机器人的“参数”选项卡设置的环境变量,您必须首先在您的方案中考虑该变量。
在 Xcode 9.2 中,转到 Edit scheme... > Run > Arguments > Environment Variables 和使用 Name accountEmail 和 Value $(accountEmail) 添加您的环境变量。然后,您在机器人配置中为环境变量设置的值应该可以通过(在 Swift 4 中)ProcessInfo.processInfo.environment["accountEmail"] 在代码中访问。
【解决方案2】:
我注意到同样的事情。似乎是 Xcode Server 中的一个错误。您可能应该记录一个雷达。
同时,您可以将环境变量添加到方案中。您可以为不同的配置制定多种方案,并切换您的 Bot 使用哪一种。这并不理想,但它可以完成工作。