如何在 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
的值,但是,正如那里的评论所建议的那样,您应该使用文字值,而不是符号常量。
我目前正在开发一个面向 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
的值,但是,正如那里的评论所建议的那样,您应该使用文字值,而不是符号常量。