2016-09-25 56 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