1

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

是否有任何调用或一系列宏可以为第三方复制此工具。

我正在开发 SDK 的 V2,我们希望弃用某些调用以及 EOL。

(请注意,这个 SDK 仍然在 Objective-C 中;所以只有 Swift 的解决方案不能解决我的问题)

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

在我必须决定是否需要在这个副项目上消磨时间之前,有什么建议或参考吗?

4

3 回答 3

2

您可以#define在您的 SDK 项目中使用宏来为弃用消息创建简写。我们在Core Plot 项目中做了类似的事情。

于 2015-07-09T23:57:28.177 回答
1

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

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

第一个是发出警告时要显示的消息;第二个使编译器能够提供 Fix-It 以用新名称替换不推荐使用的名称。

有关使用函数属性的更多信息,请参阅GCC 属性语法文档Clang 文档中的属性

于 2016-08-23T12:34:41.000 回答
0

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

NS_DEPRECATED_IOS(6.0,10.0)

奇迹般有效。

于 2020-04-03T09:12:48.533 回答