2011-08-26 38 views
18

我需要添加此調用分期裏面多了一個條件..如何在#ifdef中寫入條件。爲分期。在Objective-C

如何做到這一點在這種情況下。

#ifdef MYAPP_PRODUCTION 
     buildMode = @"Production"; 
    #else 

    #ifdef MYAPP_RELEASE 
     buildMode = @"Release"; 
    #else MYAPP_DEBUG 
     buildMode = @"Debug"; 
    #endif 
    #endif 

另一個是MyApp_Staging必要在這一點,如果條件如何做到這一點?

回答

55

你可以做這樣的事情來包含所有不同的選項,包括新的切入模式,使整個聲明清潔:

#ifdef MYAPP_PRODUCTION 
    buildMode = @"Production"; 
#elif MYAPP_RELEASE 
    buildMode = @"Release"; 
#elif MYAPP_DEBUG 
    buildMode = @"Debug"; 
#elif MYAPP_STAGING 
    buildMode = @"Staging"; 
#endif 
48

你的問題不是很清楚......如果你想在多個條件一個的#ifdef,這裏是一個解決方案:

#if defined(MYAPP_RELEASE) && defined(MyApp_Staging) 
    // ... 
#else 
    // ... 
#endif 
+1

完美!正是我在尋找的東西,即使它不是OP想要的東西 – DonnaLea

+3

||也可以:)#如果已定義RELASE ||定義的分段 –

2

在夫特和Xcode的圖7中,語法已更改:

#if DEBUG || RELEASE 
    let URL = "https://www.example.com/beta" 
#elseif APPSTORE 
    let URL = "https://www.example.com/prod" 
#endif 
0

如果您想取消2個構建目標的條件,請使用像這樣的方法。

#if !(TOWNTALK || EPISD)