Xcodeで、特定のソースファイルのすべての警告を抑制する方法は?


137

私のアプリケーションでは、いくつかの警告をトリガーするサードパーティのコードを使用しています。私はそれらをレビューしましたが、無視しても問題ありません。

どういうわけかファイルに「マーク」を付けたいので、Xcodeはそのファイルのコードに対する警告を表示しません。

どうすればよいですか?

回答:


277

ターゲットを選択し、ビルドフェーズを表示します。次に、検索ボックスにファイルの名前を入力すると、ソースのコンパイルフェーズにリストされているはずです。そのファイルのコンパイラフラグ列をダブルクリックし、Enter -wキーを押して、そのファイルのすべての警告をオフにします。


9
うーん、私は-wすべての警告をオフにすることを期待していましたが、おそらく新しいコンパイラはそれに注意を払っていません。その場合は、個別の警告をオフにします。ビルド設定で問題の警告を見つけ、ユーティリティビューにクイックヘルプを表示します。-Wname-of-warning構文を含む説明が表示されます。名前の前に "no-"を付加し、それをコンパイラフラグで指定します。例:-Wunused-parameter指定をオフにする-Wno-unused-parameter
Jon Reid

14
これはすべてコンパイラに依存していることがわかります。つまり、LLVM GCCコンパイラを使用する1つのプロジェクトで-wトリックを実行し、プレーンなGCCコンパイラを使用する他のプロジェクトで-Wno-name-of-warning唯一の方法です。
ボブロフスキー、2011

6
ヒントをありがとう、私(-wそしてLLVM)のためにも働いた。変更したくないサードパーティのファイルを含めるときに本当に便利です。
user826955

1
@Zammbiコードは自動生成されるため、警告のないコードを生成するように修正します。それができない場合は、Xcodeプロジェクトに自動パッチを適用してコンパイラフラグを設定します。
ジョンリード

11
Xcode 7.0およびApple LLVM 7.0を使用するSwift 2では機能しません
King-Wizard

6

左側のナビゲーターでプロジェクトを選択し、ターゲットを選択してビルドフェーズに移動し、ターゲットファイルのビルドフェーズに-wを入力します。コンパイラの警告をすべて非表示にします ここに画像の説明を入力してください


17
Xcode 7.0およびApple LLVM 7.0を使用するSwift 2では動作しません
King-Wizard

2
clangコンパイラフラグを外部コンパイラに渡しても機能しません。サプライズキュー...クイックコンパイラの警告フラグをグーグルし、代わりに追加します。
jheriko

4

これはXcode 10.2+とSwift 5で動作します

手動修正:

-w -Xanalyzer -analyzer-disable-all-checksXcodeから問題のあるファイルに追加>プロジェクト>ターゲット>ソースをコンパイル>警告をオフにするファイルをダブルクリックします。

Cocoapodsの修正:

問題のあるポッドからの警告を抑制しようとしている場合、ポッドファイルinhibit_warnings内のフラグを使用して、依存関係からのすべての警告を自動的に抑制できます。

pod 'Kingfisher', '~> 4.6', :inhibit_warnings => true

ここに画像の説明を入力してください


cocoapodsの修正はごちそうになりました、ありがとう!
アドゥギー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.