2011-09-19 24 views
16

我在我的iPhone iOS項目中有兩個目標:ProductionPreviewiOS:取決於當前目標的條件代碼

我現在想要執行一行代碼,只有當我在目標Preview。 我想這應該是某種#ifdef ...。我發現a solution這幾乎做我想要的東西,但它使用配置而不是目標

例子:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    #ifdef MY_PREVIEW_TARGET 
    [SomeLibraryWhichIsInPreviewTarget someMethod]; 
    #endif 

    // Code that applies for both targets ... 
} 

感謝您的幫助

回答

19

你可以添加一個預處理器IFDEF在構建設置的預處理宏部分。

+0

爲什麼它應該是預處理宏。由於它對「用戶」有用,它必須是「用戶定義的」。不是嗎? – Satyam

36

Sams解決方案工作正常。

  1. 打開預覽的目標構建設置
  2. Preprocessor MacrosMY_PREVIEW_TARGET=YES,然後我可以用我上面的代碼來檢查目標。
+10

只需將「MY_PREVIEW_TARGET」條目添加到「預處理器宏」中即可。然後在代碼中使用'#ifdef MY_PREVIEW_TARGET'。不需要像'MY_PREVIEW_TARGET = YES'那樣將宏設置爲'YES'。不需要設置一個值,因爲您沒有檢查該值,而僅僅是該變量的存在。 – SwiftArchitect