Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Suppress `deprecated` warnings in Xcode

Tags:

xcode

dismissModalViewControllerAnimated is deprecated:first deprecated in iOS 6.0

  • My deployment target is 6.1 and Xcode is 5.1.
  • I want to remove this warning for 6.1 simulator.Is that Possible?????
  • If I will run that by selection in ios 5.1 then no warning.
like image 950
Jayaprada Avatar asked May 20 '14 10:05

Jayaprada


2 Answers

If I am correct, you simply want to suppress the warnings.

#pragma GCC diagnostic ignored "-Wdeprecated-declarations"

This is simply to suppress the warnings. In release builds, you should not use any deprecated functions.

EDIT: To suppress specific code that invokes warnings, use :

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

    [self dismissModalViewControllerAnimated:YES];

#pragma clang diagnostic pop
like image 181
n00bProgrammer Avatar answered Jan 28 '23 16:01

n00bProgrammer


@n00bProgrammer thanks for your answer.

For those of us who still have code that supports earlier versions of iOS, the way I handle such old code is to wrap the older code in a version macro test as well as to suppress the compiler warnings that result.

Note that sometimes a deprecated item generates an implicit conversion warning that needs to be suppressed using "-Wconversion".

    if (SYSTEM_VERSION_LESS_THAN(@"6.0")) {
        #pragma clang diagnostic push
        #pragma clang diagnostic ignored "-Wdeprecated-declarations"
        #pragma clang diagnostic ignored "-Wconversion"
        [controlCenter.label setLineBreakMode:UILineBreakModeWordWrap];
        #pragma clang diagnostic pop
    } else {
        [controlCenter.label setLineBreakMode:NSLineBreakByWordWrapping];
    }

You can find the version checker for older Objective-C code here: SYSTEM_VERSION_LESS_THAN()

You can find the version checker for new Swift and Objective-C code here: Swift and Objective-C version check past iOS 8

like image 20
neoscribe Avatar answered Jan 28 '23 16:01

neoscribe