2013-01-08 19 views
12

我有一個iOS應用程序,它具有TestFlight構建方案。在這個方案中,我設置了一個名爲TESTFLIGHT的環境變量,其值爲1,在「運行」選項卡中設置。此外,在構建方案的「配置文件」選項卡中,選中「使用RUn操作的參數和變量」選項,並在列表中看到適當的EV。存檔期間Xcode環境變量不存在

從Xcode運行應用程序時,它工作得很好,但是當我在我的設備上創建存檔並運行應用程序時,環境變量TESTFLIGHT不存在。我的問題是有一個選項/計劃選項卡,我在這裏失蹤?

EV在「運行」(Run)選項卡上設置,並被選爲調試版本配置。我需要改變這個版本嗎?

謝謝大家!

回答

20

僅當您從Xcode運行應用程序時才設置Environments變量。如果您通過點擊圖標直接從設備運行相同的應用程序,它們將不會被設置。他們不是應用程序的一部分。正如他們的名字所暗示的那樣,它們是環境的一部分,Xcode在運行之前專門設置了它們。 (如果您在Mac上開發,可以在啓動可執行文件之前將它們設置爲外殼,但在iPhone上不可行。)

+2

感謝您的解釋。我正在嘗試的是有一個構建方案,我可以使用它構建TestFlight部署,該應用程序將使用開發URL從數據中提取數據,然後生成另一個生成方案,以便在應用程序使用生產URL時運行。任何建議如何實現? –

+7

使用預處理器宏。在您的目標版本設置中,您需要創建一個新的生成配置「TestFlight」(默認情況下有「Debug」和「Release」),然後在預處理器宏中添加一個新宏(例如'TESTFLIGHT = 1')配置「TestFlight」。在你的代碼中,使用'#ifdef TESTFLIGHT ... #else ...#endif'等預處理器指令。在您的方案中,您可以在「信息」選項卡中選擇「TestFlight」構建配置以進行所需的操作。 – Guillaume

+0

(要創建構建配置,您需要選擇項目,然後查看「信息」選項卡。) – Guillaume