2012-08-10 53 views
3

我爲我的xcode項目創建了四種不同的構建配置,它們是QA,正在執行< UAT < &生產。我使用4個不同的網址,每個網址都是我創建的一個版本。在xcode中爲不同的構建配置維護不同的URL

現在我的問題是xcode 4非常擅長檢測DEBUG模式,因爲已經有預定義的宏可用,但是如何檢測我的自定義構建以便我可以爲不同的構建配置傳遞不同的URL?

回答

2

在這些編譯配置中的每一個進入構建設置並在代碼中添加的#define THIS_IS_QA = 1個,那麼測試它,使用它,你會用DEBUG宏

+0

你是指在預處理宏或其他地方?在那裏我應該在構建設置中輸入「#define THIS_IS_QA = 1」? – user431791 2012-08-10 14:30:56

+0

相同的地方DEBUG被定義爲是 – 2012-08-10 14:32:08

+0

預處理器宏是您的朋友,當更改設置,如調試/發佈構建 – 2012-08-10 14:33:10

0

的預處理宏路工程好嗎並且很快實施。但它不能很好地擴展,因爲你最終會得到每個變量的副本。我覺得最好的路線是做以下事情。

  1. 在項目或目標版本設置中將配置定義爲用戶定義的設置。
    • 這樣做允許用於每個生成配置中指定不同的值(例如,調試或發佈或者甚至一個自定義)
  2. 創建項目plist文件的信息屬性。
    • 這允許通過plist訪問構建設置。
  3. 編寫一次代碼以從plist文件加載值。

例子:

在項目中創建用戶定義的設置被稱爲「BASE_API_URL」,並設置調試配置爲「http://www.test.example.com」,並釋放配置「http://www.example.com」。

然後在plist生成與「BaseAPIUrl」的密鑰生成新的信息屬性和價值「$(BASE_API_URL)」

最後在您定義的基本URL中添加以下代碼的應用程序的委託:

let baseUrl: NSString = NSBundle.mainBundle().infoDictionary?["BaseAPIUrl"]! as NSString 
相關問題