私のiOSプロジェクトにはいくつかの警告があるファイルがありますが、それらの警告は無視したいです。プロジェクト全体で警告を無効にしたくはありません(その方法を知っている)、特定のファイルだけを無効にします。だから、特定のファイルからのすべての警告を完全に無視する方法はありますか?
Xcode 4.2でLLVM 3.0とClangを使用しています。
単にclangを使用している場合は、維持するソースにプラグマ構文を使用する必要があります(プログラムを適切に変更して警告を削除することは不可能であると想定)。
#pragma clang diagnostic Push
#pragma clang diagnostic ignored "-Wmultichar"
char b = 'df'; // no warning.
#pragma clang diagnostic pop
これらが変更できず、維持できないプログラムである場合は、すべてではなく、ファイルに対して無効にする警告を指定する必要があります。すべてを無効にするには、ファイルごとの引数-w
を追加できます。ソースが変更され、いくつかの警告は異なるビルド設定で適用されます(または適用されません)。 clangのメッセージは、生成された警告に相当するフラグを教えてくれます。
Xcodeを使用してファイルのビルドフラグを変更するには:
私は多くの320コードを含むプロジェクトを継承し、そのコードベースはいくつかの警告と静的アナライザーエラーを投げました。近い将来プロジェクトからそのコードを削除するので、修正に興味はありませんでした。
次のコンパイラフラグを含めることにより、特定のファイルの静的アナライザー警告を無効にできます。
-Xanalyzer -analyzer-disable-all-checks
これを-wと組み合わせて、そのファイルの警告も無効にすることができます。これにより、そのコードベースで生成される30ほどの警告に悩まされることなく、新しい開発を進めることができました。
上記の手順を使用:Xcodeを使用してファイルのビルドフラグを変更するには:
ジャスティンの答えの助けを借りて、これがあなたのやり方です
私の場合、conversion
フィルターを使用して、コンパイルソースでファイルの名前を見つけ、-Wno-[error name]
例-Wno-conversion
特定のターゲット->ビルド設定を選択し、すべての警告を禁止を検索してYESに設定できます。これにより、このターゲットの警告が無効になります。これは、JSONKitのようなコードをココアポッドで使用し、コンパイラが警告についてどのように叫ぶかを見たくない場合に便利です:)