2012-07-16 7 views
7

iOS 5.1用にMGSplitViewControllerを更新しています。廃止予定のObjective-Cメソッドの使用について警告したいと思います。残念ながら、MGSplitViewControllerはiOS 3.2をサポートしているため、廃止予定のすべてのコールバックをサポートしたいが、それらについての警告は無視する。非推奨のobjective-c実装の使用に関するclangの警告を選択的に無視するにはどうすればよいですか?

私は私のターゲットのビルド設定で(CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS)「非推奨のObjective-Cメソッドのオーバーライド」に関する警告を有効にしているが、私は

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS" 

- (void) deprecated_objc_method_override { 
} 

#pragma clang diagnostic pop 

答えて

18

CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONSたXcodeのdoesnの、-Wdeprecated-implementationsに対応して、それを無視することはできませんその「クイックヘルプ」エリアに表示されます。したがって、次のように動作します。

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wdeprecated-implementations" 

- (void) deprecated_objc_method_override { 
} 

#pragma clang diagnostic pop 
+2

実際のソースを変更したくない場合は、特定のファイル(MGSplitクラスを実装するものなど)をコンパイルするときに警告をオフにすることもできます。 '-Wno-deprecated-implementedations' –

6

関連するdeprecated-declarationsフラグもあります。これにより、 "'foo'は推奨されなくなりました(最初はOS X 10.10では廃止予定 - 代わりに-barを使用するなど)。