代码中的XCode base SDK版本

时间:2015-02-05 14:13:16

标签: ios xcode base-sdk target-sdk

如何在代码中获取基本SDK的版本?我目前正在XCode 6中使用基础SDK 8.1构建iOS。我想知道是否有任何关于SDK的值的定义,以便能够测试它并允许使用不同的基础SDK进行构建。

2 个答案:

答案 0 :(得分:2)

通过检查NSFoundationVersionNumber的值,您可以找到运行代码的当前Foundation框架的版本。

如果您查看NSObjCRuntime.h,您会在其中找到各种版本号。

关于针对不同版本的SDK进行构建;如果您在截止日期生效后未针对最新的SDK构建,Apple将停止App Store上传 - 即,现在提交的新应用必须针对iOS 8 SDK构建。

您可以做的是拥有较低的 iOS部署目标(您可以在项目的设置中找到)。这将允许您的应用程序在较旧的iOS版本上运行,但它仍将针对最新的SDK构建。但要注意,在没有首先确保当前环境支持它们的情况下,您有责任确保不使用任何新API,例如UITextField's selectable财产。 如果您在iOS 6上运行时调用它,您的应用程序将崩溃。

答案 1 :(得分:1)

这可以使用__IPHONE_OS_VERSION_MAX_ALLOWED(与基本SDK版本相同的版本)完成。这可以与__IPHONE_8_0进行比较,其中8_0是iOS版本。

例如,此时您可以使用baseSDK 8.0或8.1。