2

2 つのターゲットを持つアプリケーションがあり、ターゲットごとに異なる値を持つマクロを定義したいのですが、どうすればよいですか? どちらもリリース版

4

2 に答える 2

5

各ターゲットには、Xcode の独自の「ビルド設定」があります。そこには、ターゲットに固有のカスタム マクロを設定できる「前処理」カテゴリ (「DEBUG=1」が定義されている場所を探します) があります。

于 2012-12-05T07:44:45.457 に答える
0

こうすれば

#define CONSOLE_DEBUG 1 // Comment this line to undefine

#ifdef CONSOLE_DEBUG
     #define SMLog(format, ...) NSLog((@"%s (%d) " format), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
     #define SMLog(format, ...)
#endif

CONSOLE_DEBUG を定義すると、SMLOG は Pretty 関数でログを出力します。それ以外の場合、上記の行にコメントすると、単純な NSLOG が出力されます。

CONSOLE_DEBUG の代わりに、ターゲット マクロを簡単にチェックできます。

編集:

私のアプリの 1 つで、別の URL を指定する必要があったため、次のように別のターゲットを使用してそれを行いました。

#ifdef APP_LIVE

    #define strDefaultURL <Some URL String>
    #define strIndexPlistURL <Some URL String>

#elif APP_DEV

    #define strDefaultURL <Some URL String>
    #define strIndexPlistURL <Some URL String>

#else

    #define strDefaultURL <Some URL String>
    #define strIndexPlistURL <Some URL String>

#endif

APP_LIVE と APP_DEV がそれぞれのターゲットで定義されている場所。

于 2012-12-05T07:46:38.907 に答える