如何在 Objective-C 中检查 iOS 目标版本

How do I check the iOS target version in Objective-C

我目前正在开发一个面向 iOS9 的 iOS 应用程序。由于此目标版本的年龄,我必须使用较旧的 API,有时必须为中的错误添加解决方法旧版本。

我想让我的代码更易于维护,并在目标版本发生变化时抢先标记需要重构的部分。现在我正在使用 TODO 注释,但是 #warning 指令会更好,因为它们更容易看到。

有没有办法使用 #if#ifdef 指令来检查应用程序的 iOS 目标版本,以便只有在目标版本更改时才会出现警告?

您可以检查 __IPHONE_OS_VERSION_MIN_REQUIRED 预处理器宏的值:

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 100000
#endif

文字 100000<Availability.h>__IPHONE_10_0 的值,但是,正如那里的评论所建议的那样,您应该使用文字值,而不是符号常量。