2 つのターゲットを持つアプリケーションがあり、ターゲットごとに異なる値を持つマクロを定義したいのですが、どうすればよいですか? どちらもリリース版
質問する
1238 次
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 に答える