NS_Deprecated等效于第三方框架

时间:2015-07-09 14:22:03

标签: ios objective-c macos swift deprecation-warning

NSDeprecated通过CF_Deprecated隧道进入clang属性可用性只处理MACOSX和IOS的弃用。

是否存在为第三方复制此工具的任何调用或一系列宏。

我正在研究SDK的V2,我们想要弃用某些调用以及EOL。

(请注意,此SDK仍在Objective-C中;因此Swift只有解决方案无法解决我的问题)

弃用警告和错误在编译和代码生成时非常棒;但是,我担心这是我自己需要旋转的东西。

在我必须决定是否需要在这个项目中消磨时间之前,有关于此的任何指示或参考?

3 个答案:

答案 0 :(得分:2)

您可以在SDK项目中UIViewController一个宏来简化弃用消息。我们在Core Plot project中做了类似的事情。

答案 1 :(得分:1)

GNU编译器提供了一个函数属性deprecated。 标记弃用函数的语法是:

void Foo() __attribute__( (deprecated("message", "replacement")) );

第一个是发出警告时要显示的信息;第二个允许编译器提供Fix-It以用新名称替换已弃用的名称。

有关使用功能属性的更多信息,请参阅GCC Attribute Syntax documentationAttributes in Clang documentation

答案 2 :(得分:0)

一些方便的宏位于Apple的NSObjCRuntime.h中。

NS_DEPRECATED_IOS(6.0,10.0)

像魅力一样工作。