存档期间不存在Xcode环境变量

mik*_*dev 13 xcode environment-variables ios

我有一个具有TestFlight构建方案的iOS应用程序.在这个方案中,我在"运行"选项卡中设置了一个名为TESTFLIGHT的环境变量,其值为1.此外,在构建方案的"配置文件"选项卡中,它选中了"使用RUn操作的参数和变量"选项,并在列表中看到相应的EV.

从Xcode运行应用程序时这很好用,但是当我在我的设备上进行存档并运行应用程序时,环境变量TESTFLIGHT不存在.我的问题是我在这里缺少一个选项/方案标签?

EV在"运行"选项卡上设置,并为调试构建配置选择.我是否需要更改此版本才能发布?

谢谢你们!

Gui*_*ume 28

仅当您从Xcode运行应用程序时,才会设置环境变量.如果您通过点击图标直接从设备运行相同的应用程序,则不会设置它们.它们不是应用程序的一部分.顾名思义,它们是环境的一部分,Xcode在运行之前就已经专门设置了.(如果您在Mac上进行开发,可以在启动可执行文件之前将它们设置在shell中,但这在iPhone上是不可能的.)

  • 使用预处理器宏.在目标构建设置中,您需要创建一个新的构建配置"TestFlight"(默认情况下有"Debug"和"Release"),然后在预处理器宏中,添加一个新的宏(例如`TESTFLIGHT = 1`)配置"TestFlight".在您的代码中,使用预处理器指令,如`#ifdef TESTFLIGHT ... #else ...#endif`.在您的方案中,您可以在"信息"选项卡中选择"TestFlight"构建配置,以获取所需的操作. (9认同)
  • 谢谢你的解释.我正在尝试使用的是一个构建方案,我可以使用它来构建TestFlight部署,该应用程序将使用开发URL从中提取数据,然后使用另一个生成的构建方案,该方案将在应用程序时使用生产URL运行.有关如何实施的任何建议? (2认同)