我正在创建一个应用程序,我已经和几个人谈过了这个问题。他们想在应用程序商店发布后下载它。
我收到了一封电子邮件,并研究了其中的变化:
"从2018年7月开始,所有新的iOS应用和更新都提交给了应用 商店必须使用iOS 11 SDK构建。"
我所谈过的一些人使用的旧设备无法运行iOS 11,我也无法在自己的手机上运行(不过我会在iPad上运行)。
因此我希望在iOS 9上发布,但在7月之前无法发布,所以我仍然能够发布应用程序,而我与之交谈过的有旧设备的人可以下载它吗? / p>
在进行一些阅读后,您似乎可以将部署目标设置为低于基本SDK'。这是真的?如果iOS 11可以执行iOS 9无法做到的事情,这将如何工作?
因此,我要求澄清并回答上述两个问题。
答案 0 :(得分:5)
该消息表示您的应用必须使用iOS 11的Base SDK构建。这意味着您需要使用Xcode 9.最好使用最新的工具。 Apple一直在推动开发人员前进。
但这并不妨碍您的应用支持较旧的iOS设备。如果您希望支持iOS 9,请将您的项目或目标部署目标设置为iOS 9.0(或您希望支持的任何旧版本)。
部署目标定义了您的应用支持的最旧版本的iOS。 Base SDK定义了您可以使用的最新API。
诀窍是确保如果您在应用中使用较新的API,则在使用旧版iOS的设备上运行该应用时,不得使用该API。
有很多讨论涵盖了这方面的细节,但简而言之,在您设置的任何部署目标之后的任何API周围使用user.id
。
自2018年7月5日起更新:
根据Supported Xcode and Application Loader versions帮助页面,只有新 iOS应用和iOS应用扩展程序才需要Xcode 9。