我正在开发一个将在各种 iOS 版本中使用的库。但是,某些方法仅适用于最新版本的 iOS(例如 iOS 7)。
在第三方库中有没有标准的方法来标记这样的方法?
我应该使用 Availability.h 的 __OSX_AVAILABLE_STARTING
宏,还是最好只留给 Apple 方法使用?
最佳答案
如果您只需要 clang,您可以考虑使用可用性属性:
void f(void) __attribute__((可用性(macosx,introduced=10.4,deprecated=10.6,obsoleted=10.7)));
http://clang.llvm.org/docs/LanguageExtensions.html#availability-attribute
我发现可用性 API 有点陈旧且难以合并(#ifdef
堆),而属性是表达可用性的更现代和更精致的方式。
关于ios - 标记方法可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19144371/