首页 > 解决方案 > 仅从 2018 年 7 月开始的 iOS 11 应用程序

问题描述

我正在制作一个应用程序,我已经和几个人谈过了。他们希望在应用商店发布后下载它。

我收到了一封电子邮件,并研究了以下状态的更改:

“从 2018 年 7 月开始,所有提交到 App Store 的新 iOS 应用和更新都必须使用 iOS 11 SDK 构建。”

我交谈过的一些人拥有无法运行 iOS 11 的旧设备,我也无法在自己的手机上运行它(不过,我会在 iPad 上运行)。

因此,我想在 iOS 9 上发布,但在 7 月之前无法发布,那么我是否仍然可以发布该应用程序,并且与我交谈过的拥有旧设备的人可以下载它吗?

阅读后,您似乎可以将部署目标设置为低于“基础 SDK”。这是真的?如果 iOS 11 可以做 iOS 9 不能做的事情,这将如何工作?

因此,我要求澄清和回答上述两个问题。

标签: iosxcodeapp-store

解决方案


该消息意味着您的应用程序必须使用 iOS 11 的 Base SDK 构建。这意味着您需要使用 Xcode 9。最好使用最新的工具。苹果一直在推动开发者前进。

但这并不妨碍您的应用支持较旧的 iOS 设备。如果您希望支持回 iOS 9,请将您的项目或目标的部署目标设置为 iOS 9.0(或您希望支持的任何旧版本)。

部署目标定义了您的应用支持的最旧 iOS 版本。Base SDK 定义了您可以使用的最新 API。

诀窍是确保如果您在应用程序中使用较新的 API,当应用程序在具有较旧版本 iOS 的设备上运行时,不得使用它。

有很多讨论涵盖了这方面的细节,但简而言之,#available围绕在您设置的任何部署目标之后添加的任何 API 使用。

截至 2018 年 7 月 5 日的更新:

根据Supported Xcode and Application Loader 版本帮助页面,只有的iOS 应用和 iOS 应用扩展需要 Xcode 9。


推荐阅读