How do I flag a function as being deprecated in an iOS Objective-C header file?
I'm guessing there's just some keyword I can stick after the function somewhere?
I would like for a compiler warning to be generated should anyone try and use the deprecated function, similar to the behavior seen in Apple's APIs.
Try appending an attribute to your method declaration:
- (void)fooBar __attribute__ ((deprecated));
Taken from here.
Instead of __attribute__((deprecated))
, you can use use the macros defined in <cdefs.h>
:
- (void)fooBar __deprecated; // Or better: - (void)fooBar __deprecated_msg("Use barFoo instead.");
Or you can use the macros defined in <AvailabilityMacros.h>
:
- (void)fooBar DEPRECATED_ATTRIBUTE; // Or better: - (void)fooBar DEPRECATED_MSG_ATTRIBUTE("Use barFoo instead.");
If you use Objective-C, it makes no difference as you are going to use a modern compiler, so you can go for Apple short syntax __deprecated_msg()
. But if you use C for cross-platform, then DEPRECATED_MSG_ATTRIBUTE()
uses the optimal availability definitions (for instance, it supports GCC3.1).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With