3

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

4

2 回答 2

2

您可以通过检查NSFoundationVersionNumber.

如果您查看,NSObjCRuntime.h您会发现其中列出的各种版本号。

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

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

于 2015-02-05T14:36:03.053 回答
1

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

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

于 2015-02-05T15:02:14.557 回答