この問題は私を怒らせており、ほぼ間違いなく Xcode のバグに関連していますが、私がよく知らない回避策や見落としている可能性のある回避策があるかもしれません。ここに行きます:
部分的に重複するコードを含む個別の実行可能ファイルを生成する、さまざまなサブプロジェクト用のビルド ターゲットがいくつかあります。どちらのアプリにも入れるべきではないコードの特定のビットを除外するために#define
、各サブプロジェクトのそれぞれの .pch ファイルで多数のマクロを定義します (例: main-app.pch)。
#ifndef MY_APP
#define MY_APP 1
#endif
そしてsub-app.pchで
#ifndef SUB_APP
#define SUB_APP 1
#endif
次に、いくつかのコードで、
- (void)doSomething
{
#ifdef MY_APP
NSLog(@"This is just an example");
#endif
}
ここで問題となるのは、Xcode が条件付きでコンパイルされたコードの構文の強調表示やコード補完を行わない場合があることです。つまり、一部のマシンでのみ発生します。つまり、同僚にとってはまったく問題なく動作しますが、何をしても構文の強調表示は見られません。記録として、私たちは皆 Xcode 4.5.2 を使用しています。派生データを削除してインデックスを再作成し、ターゲット/スキーマの順序をシャッフルし、.pch ファイルの代わりにプロジェクトとターゲット設定にプリプロセッサ マクロを配置しようとしましたが、何も役に立たないようです。ここで何が起こっているのか誰にもわかりませんか?