如何覆盖Xcode中的弃用警告?

时间:2011-01-04 14:57:45

标签: iphone objective-c xcode compiler-warnings

是否有#pragma覆盖编译时警告,例如:

warning: 'ADBannerContentSizeIdentifier480x32' is deprecated (declared at /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/iAd.framework/Headers/ADBannerView.h:111)

我必须通过以下方式保持4.2之前iOS设备的兼容性:

NSString *iAdSize = (osVersion >= 4.2) ? ADBannerContentSizeIdentifierPortrait : ADBannerContentSizeIdentifier480x32;

由于

3 个答案:

答案 0 :(得分:7)

是的,有

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wno-deprecated-declarations"
//deprecated function
#pragma clang diagnostic pop

如果您想知道某个错误的正确语法是什么,只需在Xcode中找到它然后查看快速帮助

enter image description here

答案 1 :(得分:2)

有一个构建设置可以为不推荐使用的函数切换警告。

虽然正确的方法是在运行时检查操作系统版本,并在必要时执行弃用的方法,否则执行新方法。

答案 2 :(得分:0)

您可以通过创建“Deprecated.h”文件来禁止特定的已弃用警告,在该文件中,您将已弃用的方法声明为类别中的好。