16

I'm updating MGSplitViewController for iOS 5.1, and I want to be warned about usage of deprecated Objective-C methods. Unfortunately, MGSplitViewController supports iOS 3.2, so I want to support all deprecated callbacks, but ignore warnings about them.

I've enabled warnings about "Overriding Deprecated Objective-C Methods" (CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS) in my target build settings, but I can't ignore it with

#pragma clang diagnostic push #pragma clang diagnostic ignored "CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS" - (void) deprecated_objc_method_override { } #pragma clang diagnostic pop 

2 Answers 2

34

CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS corresponds to -Wdeprecated-implementations, which Xcode doesn't show in its "Quick Help" area. So the following works:

#pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-implementations" - (void) deprecated_objc_method_override { } #pragma clang diagnostic pop 
Sign up to request clarification or add additional context in comments.

1 Comment

Another option, if modifying the actually source might not be wanted, is to turn off the warning when compiling specific files (like those that implement the MGSplit classes. For example, passing compiler flags just to those implementation files like -Wno-deprecated-implementations
16

There's also the related deprecated-declarations flag. This suppresses warnings like "'foo' is deprecated: first deprecated in OS X 10.10 - Use -bar instead".

#pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" : #pragma clang diagnostic pop 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.