2016-09-25 17 views
1

将构建提交到Apple Store/TestFlight或Google Play后,该特定构建无法更改。如何使App Store部署中的分析/数据暂存生产

我认为这意味着生产版本必须提交,配置为生产环境。

但是,那么同样的构建如何能够指向临时环境(用于TestFlight或Google Play Alpha/Beta测试)呢?然后在批准之前重新配置为指向生产,然后再推广到App Store?

如何在单个构建中同时支持暂存和生产环境?

一个示例将用于分析指标不应转至生产或Q/A用户的数据应驻留在Staging数据库上的分析。

回答

0

有不同的方法来解决这个问题。部分取决于您的需求。例如,如果您希望能够指向生产版本。

一个简单的方法是使用DebugRelease配置作为分隔两者的方法。换句话说,使用Debug配置构建的构建将指向阶段并使用Release构建指向prod。

如果你愿意,你当然可以皮条客。例如,您可以让您的Debug构建实际上可配置为更改环境。

使用编译时标志(如DEBUG)完成对此的控制。所以,你的代码将是这样的:

#if DEBUG 
    // Do Staging environment setup here 
#else 
    // Do Prod environment setup here 
#endif 

它可以帮助通过一些对象要做到这一点,以限制代码,你需要环境之间辨别的地方。

请注意,这也是一种处理第三方服务的常用方式,您可以将其用于分析等,这些服务对QA/prod具有不同的键。

+0

感谢您的建议。因此,这两个环境将通过宏标记硬编码到构建本身中。但是这是否意味着我需要重新构建并在首次构建并提交DEBUG构建后重新提交RELEASE构建? – question

+0

这取决于你的目标。这些适用于所有测试版本吗?通常,您只需提交用于应用商店提交的发布。您绝不应该提交调试App Store提交(待售)。如果你需要能够进行测试,那么你需要实现一些用于选择系统的测试。总是在某个时候,你将不得不测试产品。为此,您必须向您的测试人员发布发布版本。因为你似乎不太熟悉这样做,我建议你尽可能简单/基本。 –

+0

对,最终版本必须是RELEASE。困惑在于如何提交一个DEBUG构建,并将其从Staging升级到Production而无需创建新的RELEASE构建。但我想你说的是,必须为TestFlight创建特定的DEBUG构建,这些构建不适用于RELEASE,并且如果QA确实针对为Production配置的RELEASE构建执行了最终测试,那么它是不可避免的(或者更简单,更可取)。 – question