是否有一个宏表示代码编译的iOS SDK版本?

时间:2013-08-11 08:57:25

标签: ios xcode

即,是否可以知道我的代码是在SDK 5.1或6.0或任何其他版本下编译的?

2 个答案:

答案 0 :(得分:14)

#ifdef __IPHONE_6_0
    // Will be ignored when compiled under SDK 5.1
#endif

当您在iOS SDK 5.1或任何其他旧版SDK下进行编译时,__ IPHONE_6_0没有#define,因此检查宏是否已定义有助于检查SDK版本。

答案 1 :(得分:2)

查看iOS SDK中的文件"Availability.h""AvailabilityInternal.h",您会看到您可以使用的条件。我链接到(which I found in this closely related question)的Apple OpenSource与您在SDK中找到的不一样。

例如,我看到“__IPHONE_OS_VERSION_MIN_REQUIRED”的定义,如果您只想在iOS 6&更新,你必须确保将此设置为“__IPHONE_6_0”。