webentwicklung-frage-antwort-db.com.de

Wie schreibe ich die Bedingung in #ifdef. für die Inszenierung. in objektiv-c

Ich muss eine weitere Bedingung in diesem Aufruf hinzufügen Staging ..

wie es in diesem zustand geht. 

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

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

ein weiterer Grund ist, dass MyApp_Staging in diese if-Bedingung einbezogen werden muss, wie dies zu tun ist.

22
user891268

Sie könnten so etwas tun, um alle verschiedenen Optionen einschließlich des neuen Staging-Modus zu enthalten und die gesamte Aussage sauberer zu machen:

#ifdef MYAPP_PRODUCTION
    buildMode = @"Production";
#Elif MYAPP_RELEASE
    buildMode = @"Release";
#Elif MYAPP_DEBUG
    buildMode = @"Debug";
#Elif MYAPP_STAGING
    buildMode = @"Staging";
#endif
63
Suhail Patel

Ihre Frage ist nicht sehr klar ... Wenn Sie mehrere Bedingungen in einem #ifdef haben möchten, finden Sie hier eine Lösung:

#if defined(MYAPP_RELEASE) && defined(MyApp_Staging)
    // ...
#else
    // ...
#endif
57
jv42

In Swift und Xcode 7 hat sich die Syntax geändert:

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

Wenn Sie die Bedingung mit 2 Erstellungszielen negieren möchten, verwenden Sie diese Option.

#if !(TOWNTALK || EPISD)

0
Rohit Mandiwal

Was ist damit?

#if defined(MYAPP_PRODUCTION)
  buildMode = @"Production";
#Elif defined(MYAPP_RELEASE)
  buildMode = @"Release";
#Elif defined(MYAPP_DEBUG)
  buildMode = @"Debug";
//#Elif defined(MYAPP_STAGING)
#else
  buildMode = @"Staging";  
#endif  
0
Hneel