2010-10-27 61 views
2

我的iPhone應用程序使用Java Web服務來獲取數據。在我的公司,我們有3個環境 - 開發,測試和生產。指向Web服務的每個環境的URL都不同。因此,每次我們將項目推廣到下一個環境時,我都必須更改iPhone代碼中的硬編碼URL以匹配目標環境。有沒有人設計出一種策略來處理這個問題,無論是在iPhone本身還是在服務層?iPhone處理動態URL

回答

1

嘗試在您的應用的info.plist文件中存儲URL的可變部分。您可以更改該W/O重建。

如果需要更多配置更改,VCS分支可能是您需要的。

+1

我第二。我一直這樣做。 – 2010-10-27 18:30:36

+0

更新:我創建了一個.plist,但是如何更改無重建的值?在我的測試中,似乎在更改被接受之前需要重新構建。我將.plist放在Resources文件夾中。它應該位於其他地方嗎?謝謝。 – Jon 2010-11-03 12:50:26

1

,您可以考慮以下方法:

  1. 當您啓動您的應用程序,或者說當你已經建立了網絡連接是可能的,您將設備ID發送給服務器。

  2. 服務器根據列表檢查您的設備ID,並告訴您的應用程序是否允許與服務器交談的用戶查看開發和測試內容。

  3. 如果您的設備被允許,您可以爲用戶提供一個界面,以更改他們是否想要查看開發,測試或生產內容。將其存儲在NSUserDefaults中

  4. 根據用戶的選擇,相應的url用於與您的服務器通信。可以肯定的是,您也可以在此處添加您的設備ID。

此方法的好處是您可以允許客戶端查看測試內容......而無需更新或更改其應用程序。您可以隨時撤銷該權限。