管理しているiOSアプリケーションに2つのターゲットがあります。
これは、両方のターゲットが同じコードの90%を利用しているために行われました。各ターゲットには特定のプリプロセッサマクロが割り当てられているため、ターゲットごとにコードのブロックを区別できます。
すべてが両方のターゲットに対して正しくコンパイルされます。
ただし、問題は、xcodeが自動競合し、最初のタゲットの構文が強調表示されることだけです。
例:
Target => "MainTarget"-Preprocessor Macro => TARGET_A = 1
Target => "OtherTarget"-Preprocessor Macro => TARGET_B = 1
次に、次のコードがある場合:
#if TARGET_B
NSLog(@"Log Something %f", 3.5);
#else
NSLog(@"Log other stuff %i", 4);
#endif
NSlog(@ "Log other stuff%i"、4);のみ 正しく着色されています。
コンパイルと実行は正常に機能しますが、ビルドして起動する前に、タイプミスがあることを視覚的に確認したいと思います。
そのため、MainTargetまたはOtherTargetのどちらがエディターのアクティブなコードであるかを切り替えることができると便利です。