2011-10-21 95 views
23

我有兩個目標爲我的應用程序(精簡版和專業版)設置,我想爲它們中的每一個在代碼中集成一些細微的差異(例如專業版不會顯示任何iAd橫幅)。如何在Xcode 4中定義預處理器宏?

我一直在尋找,我看到最簡單的方法是通過使用預處理器宏。我面臨的問題是如何在Xcode 4中設置它們。我想在另一個目標&'LITE_VERSION'中設置一個名爲'PRO_VERSION'的宏。

下面是我打算如何使用它們的例子:

#ifdef PRO_VERSION 
    // Hide ad banners 
#else 
    // Show ad banners 
#endif 
+0

入住這裏: http://stackoverflow.com/questions/5272296/how-to-add-preprocessor-define-globally-for-debug-configuration-in-xcode-4 – Carter

+0

這是微妙的不同到我以後 - 謝謝。 –

回答

40

您需要更改的構建設置稱爲「預處理器宏」,它可以在「項目設置」窗格的「構建設置」選項卡中找到(使用搜索框查找它)。在「項目設置」窗格的左側依次選擇每個目標,然後修改「預處理器宏」設置。

該設置被指定爲以'foo'或'foo = bar'形式的預處理宏的空格分隔列表。

+0

感謝您的幫助。我需要將它們添加到調試,發佈還是兩者? –

+0

兩者。您需要您的專業版和精簡版才能在調試版和發行版配置中正確編譯。 –

+1

只是爲了澄清。您將選擇您的'Pro'目標,然後將'PRO_VERSION'添加到調試和發佈的預處理器宏設置中。你不需要爲'精簡'目標做任何事情。 –

3

我不是我此刻的MAC,所以我不能充分一步一步的方向,但我相信這應該是準確的,如果不是那樣詳細的話。創建一個新的構建目標。轉到此新目標的配置屏幕。應該有一個符合編譯選項的選項卡。在這個選項卡中應該有一行用於其他編譯器標誌。在那裏,把-DPRO_VERSION