コンパイル時にビルドで更新されない独自の拡張子を持つバイナリ ファイルがいくつかあります。この同じプロジェクトの Xcode の以前のバージョンでは、ファイルが変更されたことを検出し、このバージョンで行う必要があるように「クリーン」を実行する必要はほとんどありませんでした。もちろん、これにはさらに多くの時間がかかります。誰かが Xcode 5 で何が変更されたか、および/またはこれについて何ができるかを教えていただければ幸いです。
プロジェクトの詳細は含めませんでした。これは、リソース フォルダーにカスタム拡張子を持つプロプライエタリなバイナリ ファイルであり、前回のコンパイル以降に変更されると自動的に更新されていたからです。特定のプロジェクト設定が必要な場合は、喜んで提供します。
プロジェクトディレクトリにコピーされるだけでなく、フォルダへの参照である一種の「青い」リソースフォルダを使用しています。この特定のリソース フォルダーの種類が何と呼ばれているか忘れてしまったため、お詫び申し上げます (参照と推測しています)。
バージョン: Xcode 5 (5A1413)
アップデート:
これは、fopen、fwriteなどを使用してプログラムで変更したファイルを参照している場合にのみ発生し、OSXのファイルエディターを使用してファイルを再保存すると(実際には変更せずに)、Xcodeは変更されたと見なします。
現在、FSEvents を調べて、この基礎となる API を使用する必要があるかどうかを確認していますが、これでフラグを設定する方法はまだ正確にはわかりません。
アップデート:
簡単なテストとして、同じファイルを取得し、次の方法で再保存します。
NSData* data = [[NSData alloc] initWithContentsOfFile: @"/location/file.dat"];
[data writeToFile:@"/location/file.dat" atomically:YES];
案の定、それを呼び出してリソースを使用するアプリを実行すると、ビルド中に Xcode 経由で更新されます。したがって、Xcode 5 は、標準の io 関数によって設定されないいくつかの特別なフラグに依存しているように見えます。この時点で、その 2 行のものにパッチを適用するか、フラグのメカニズムとその書き込み方法を理解することができます。(FSEvents? そこには書き込みメカニズムが表示されません..)