仅从 2018 年 7 月开始的 iOS 11 应用程序
Posted
技术标签:
【中文标题】仅从 2018 年 7 月开始的 iOS 11 应用程序【英文标题】:iOS 11 apps only from July 2018 【发布时间】:2018-05-25 16:26:42 【问题描述】:我正在制作一个应用程序,并且我已经与几个人谈过它。他们希望在应用商店发布后下载它。
我收到了一封电子邮件并研究了哪些状态的更改:
“从 2018 年 7 月开始,所有新的 ios 应用程序和更新都提交到应用程序 商店必须使用 iOS 11 SDK 构建。”
与我交谈过的一些人拥有无法运行 iOS 11 的旧设备,我也无法在自己的手机上运行它(不过,我会在 iPad 上运行)。
因此,我想在 iOS 9 上发布,但在 7 月之前无法发布,所以我仍然可以发布该应用程序,并且与我交谈过的拥有旧设备的人可以下载它吗?
阅读后,您似乎可以将部署目标设置为低于“基础 SDK”。这是真的?如果 iOS 11 可以做 iOS 9 不能做的事情,这将如何工作?
因此,我要求澄清并回答上述 2 个问题。
【问题讨论】:
您应该仍然可以将 iOS9 设置为 iOS11 SDK 中的构建目标。 这对 iOS 9 用户意味着什么 - 某些功能会失效吗? 当然,如果该操作系统不支持它们。 developer.apple.com/library/content/documentation/… 我在另一个话题中回答了。您可以从这里查看:***.com/questions/51823995/… 您可以从这里查看其他主题的答案:***.com/questions/51823995/… 【参考方案1】:该消息意味着您的应用必须使用 iOS 11 的 Base SDK 构建。这意味着您需要使用 Xcode 9。最好使用最新的工具。 Apple 一直在推动开发者前进。
但这并不妨碍您的应用支持较旧的 iOS 设备。如果您希望支持回 iOS 9,请将您的项目或目标的部署目标设置为 iOS 9.0(或您希望支持的任何旧版本)。
部署目标定义了您的应用支持的最旧 iOS 版本。 Base SDK 定义了您可以使用的最新 API。
诀窍是确保如果您在应用中使用较新的 API,则当应用在具有旧版本 iOS 的设备上运行时不得使用它。
有很多讨论涵盖了这方面的细节,但简而言之,在您设置的任何部署目标之后添加的任何 API 周围使用 #available
。
2018 年 7 月 5 日更新:
根据Supported Xcode and Application Loader versions 帮助页面,只有新 iOS 应用和iOS 应用扩展需要Xcode 9。
【讨论】:
针对旧版本的旧应用程序呢?它们会保留在应用商店中吗? @Niroj 未更新的应用程序将保留在 App Store 中。但是,如果您更新应用以利用较新的设备,您的客户肯定会更开心。以上是关于仅从 2018 年 7 月开始的 iOS 11 应用程序的主要内容,如果未能解决你的问题,请参考以下文章